Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Считать новые данные в DataGrid / 12 сообщений из 12, страница 1 из 1
21.05.2010, 11:09
    #36640969
Andrew Nagorny
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Считать новые данные в DataGrid
Помогите люди добрые! ) я новичек в WPF, да и в .NET

не могу понять проблемы.

есть база. на основе ее сделал Entity Model. нарисовал грид.

<UserControl.Resources>
<CollectionViewSource x:Key="LIST_UserRoleTypeViewSource" d:DesignSource="{d:DesignInstance my:VT_UserRoleType, CreateList=True}" />
</UserControl.Resources>


<Grid DataContext="{StaticResource LIST_UserRoleTypeViewSource}">
<DataGrid AutoGenerateColumns="False" EnableRowVirtualization="True" ItemsSource="{Binding Source={StaticResource LIST_UserRoleTypeViewSource}}" Name="vT_UserRoleTypeDataGrid" RowDetailsVisibilityMode="VisibleWhenSelected">
<DataGrid.Columns>
<DataGridTextColumn x:Name="iDColumn" Binding="{Binding Path=ID}" Header="Код" />
<DataGridTextColumn x:Name="nameColumn" Binding="{Binding Path=Name}" Header="Наименование" />
<DataGridTextColumn x:Name="commentColumn" Binding="{Binding Path=Comment}" Header="Описание" />
</DataGrid.Columns>
</DataGrid>
</Grid>

//Переменная
private System.Windows.Data.CollectionViewSource collectionList = null;

//Загрузка
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
MainApplication.JustCRMEntities.Refresh(RefreshMode.ClientWins, MainApplication.JustCRMEntities.VT_UserRoleType);

// Do not load your data at design time.
if (!System.ComponentModel.DesignerProperties.GetIsInDesignMode(this))
{
//Load your data here and assign the result to the CollectionViewSource.
collectionList = (System.Windows.Data.CollectionViewSource)this.Resources["LIST_UserRoleTypeViewSource"];
collectionList.Source = MainApplication.JustCRMEntities.VT_UserRoleType;
}
}

//Обновление
public void DataRefresh()
{
MainApplication.JustCRMEntities.Refresh(RefreshMode.ClientWins, MainApplication.JustCRMEntities.VT_UserRoleType);
collectionList.View.Refresh();
//CollectionViewSource.GetDefaultView(vT_UserRoleTypeDataGrid.ItemsSource).Refresh();
}

и при обновлении проблема! не загружает новые данные, которые я добавил в базе вручную. Если я в базе просто изменяю уже существующие данные - такие данные появляются в гриде. Если же я вношу новые записи в базу - они не появляются!

В чем проблема?
...
Рейтинг: 0 / 0
24.05.2010, 09:26
    #36644580
Andrew Nagorny
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Считать новые данные в DataGrid
Неужели никто не знает???
...
Рейтинг: 0 / 0
24.05.2010, 10:43
    #36644717
AlexeiK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Считать новые данные в DataGrid
Andrew Nagorny,

да просто не читабельный пост :)
никто не может прочитать его до конца,ппоэтому и не отвечают.
...
Рейтинг: 0 / 0
24.05.2010, 12:31
    #36644972
Andrew Nagorny
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Считать новые данные в DataGrid
Да вроде все понятно написал. Есть Грид. Он забинден на Entity Data Model.

еще раз. подробнее)
**********************************************************
XAML

//ресурс
<UserControl.Resources>
<CollectionViewSource x:Key="LIST_UserRoleTypeViewSource" d:DesignSource="{d:DesignInstance my:VT_UserRoleType, CreateList=True}" />
</UserControl.Resources>

//в гриде биндинг на ресурс
<Grid DataContext="{StaticResource LIST_UserRoleTypeViewSource}">

LOADING

//загрузка данные из БД в Entity Data Model
MainApplication.JustCRMEntities.Refresh(RefreshMode.ClientWins, MainApplication.JustCRMEntities.VT_UserRoleType);

//ресурс из XAML
collectionList = (System.Windows.Data.CollectionViewSource)this.Resources["LIST_UserRoleTypeViewSource"];
//Биндинг
collectionList.Source = MainApplication.JustCRMEntities.VT_UserRoleType;

REFRESH

//Кнопочка на форме вызывает рефреш
//Обновляем Entity Data Model из базы
MainApplication.JustCRMEntities.Refresh(RefreshMode.ClientWins, MainApplication.JustCRMEntities.VT_UserRoleType);
//Обновляем ресурс (коллекцию), на которую забинден Грид
collectionList.View.Refresh(); НЕ РАБОТАЕТ!!! НОВЫЕ ДАННЫЕ НЕ ПОЯВЛЯЮТСЯ!!!

**********************************************************
загружаем Грид. потом идем в базу и делаем UPDATE на одну запись, и один INSERT.

команда collectionList.View.Refresh() показывает строку на которую я сделал UPDATE, НО НЕ ПОКАЗЫВАЕТ ЗАПИСЬ КОТРОУЮ Я ДОБАВИЛ ИНСЕРТОМ!!!
...
Рейтинг: 0 / 0
24.05.2010, 12:36
    #36644991
AlexeiK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Считать новые данные в DataGrid
Andrew Nagorny,

я тебе подскажу. опять не читабельно.
...
Рейтинг: 0 / 0
24.05.2010, 12:48
    #36645027
Andrew Nagorny
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Считать новые данные в DataGrid
Ну хоть подскажи что именно? я не могу понять что тут не читабельно. Кто работал с этим должен все понять.
...
Рейтинг: 0 / 0
24.05.2010, 13:14
    #36645097
AlexeiK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Считать новые данные в DataGrid
Andrew Nagorny,

с помощью тегов SRC попробуй.
...
Рейтинг: 0 / 0
25.05.2010, 10:31
    #36646795
Шайтан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Считать новые данные в DataGrid
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
//XAML

//ресурс
<UserControl.Resources>
<CollectionViewSource x:Key="LIST_UserRoleTypeViewSource" d:DesignSource="{d:DesignInstance my:VT_UserRoleType, CreateList=True}" />
</UserControl.Resources>

//в гриде биндинг на ресурс
<Grid DataContext="{StaticResource LIST_UserRoleTypeViewSource}">

LOADING

//загрузка данные из БД в Entity Data Model
MainApplication.JustCRMEntities.Refresh(RefreshMode.ClientWins, MainApplication.JustCRMEntities.VT_UserRoleType);

//ресурс из XAML
collectionList = (System.Windows.Data.CollectionViewSource)this.Resources["LIST_UserRoleTypeViewSource"];
//Биндинг
collectionList.Source = MainApplication.JustCRMEntities.VT_UserRoleType;

REFRESH

//Кнопочка на форме вызывает рефреш
//Обновляем Entity Data Model из базы
MainApplication.JustCRMEntities.Refresh(RefreshMode.ClientWins, MainApplication.JustCRMEntities.VT_UserRoleType);
//Обновляем ресурс (коллекцию), на которую забинден Грид
collectionList.View.Refresh(); НЕ РАБОТАЕТ!!! НОВЫЕ ДАННЫЕ НЕ ПОЯВЛЯЮТСЯ!!!
...
Рейтинг: 0 / 0
25.05.2010, 12:48
    #36647302
Andrew Nagorny
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Считать новые данные в DataGrid
Красиво конечно. Только проблему это не решит.

Неужели так мало народа еще работает с WPF? Что не получить ответа.
...
Рейтинг: 0 / 0
25.05.2010, 14:19
    #36647629
AlexeiK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Считать новые данные в DataGrid
Andrew Nagorny,

да не. просто не читабельно до сих пор.
ты вопрос задаешь криво,поэтому еще никто не начал думать над ответом.
тут все просто. дело не в коде:) дело в общении.
...
Рейтинг: 0 / 0
25.05.2010, 15:10
    #36647817
Andrew Nagorny
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Считать новые данные в DataGrid
Да я уже все вроде разжевал. Если вопроса никто не понимает - мне кажется никто с этим и не работал.
...
Рейтинг: 0 / 0
25.05.2010, 15:25
    #36647879
AlexeiK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Считать новые данные в DataGrid
Andrew Nagorny,

не не.
разжевать - это когда тебе ответы начинают давать, а не указания, что надо еще разжевать.
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Считать новые данные в DataGrid / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]