2013-07-09 5 views
0

Есть ли способ узнать, какие объекты данных видны в WPF DataGrid при работе в MVVM? DataGrid, связанный с объектной моделью, имеет множество операций фильтрации и показывает только отфильтрованные данные в зависимости от выбранного фильтра. Я должен решить проблему оптимизации. Здесь описано краткое описание проблемы.Видимые данные в WPF DataGrid в MVVM

Во время удаленной связи я отправляю ВСЕ данные, привязанные к DataGrid через GSM-модем, на удаленное устройство. Поскольку большую часть времени у меня слишком много данных, привязанных к DataGrid (даже после выбора конкретного фильтра), я искал передачу только данных, которые в настоящее время видны для оптимизации связи.

Я могу объяснить, требуется ли кому-то более подробная информация.

Вот как DataGrid привязан к элементу Source в WPF.

 <toolkitControls:AdvancedDataGrid x:Name="RecordEditorTable" 
             Grid.Column="2" Grid.Row="2" Grid.RowSpan="2" 
             Style="{StaticResource {x:Type DataGrid}}" 
             AutoGenerateColumns="False" 
             SelectionMode="Extended" 
             CanUserDeleteRows="False" 
             ItemsSource="{Binding FilteredRecords}" 
             ScrollViewer.CanContentScroll="True" 
             cal:Message.Attach="[BeginningEdit] = [BeginningEditing($eventArgs)]; [RowEditEnding] = [RowEditEnding($eventArgs)]; [SelectionChanged] = [RecordEditorTable_SelectionChanged($eventArgs)]; 
             AllowDrop="True">...</toolkitControls:AdvancedDataGrid> 

Благодаря

+0

Образец кода, пожалуйста. ? – JSJ

+0

Я добавил код WPF для DataGrid, FilteredRecords - ObservableCollection записей. – Irfan

+0

Что такое DataGrid Thirdparty? – JSJ

ответ

0

У меня идея этой проблемы. Я буду использовать события LoadRow и UnloadingRow и из загруженных строк, я могу получить данные для отправки на удаленное устройство. Эти события будут запускаться только при прокрутке datagrid, поэтому я могу удалить невидимые данные с уровня связи и зарегистрировать новые видимые данные для связи. События не активируются в среде DataGrid, поэтому мне нужно управлять этим специальным scenerio.

Еще несколько идей для заинтересованных лиц - here.

Смежные вопросы