Я пытаюсь написать код для получения 3 значений из текстовых полей, если отмечены некоторые флажки в одной строке. Кто-нибудь знает простой (или жесткий) способ сделать это?Получение значения целой строки, если флажок установлен в datagrid C#
Моя DataGrid выглядит следующим образом:
У меня есть кнопка Load, которая находит файл определенного типа (XML.config) где-то в файловой системе, после того, что я звоню метод, который получает некоторые строки из этого файл, найдите подстроки из них и поместите их в 3 отдельных списка. Эти значения указаны в datagrid как Type, MapTo и Name. выполнить это, поставив все 3 списков в одном ObservableCollection и после этого я посылаю, что ObservalableCollection в DataGrid, как это:
ObservableCollection<Tuple<string, string, string>> _obsCollection = new ObservableCollection<Tuple<string, string, string>>();
public ObservableCollection<Tuple<string, string, string>> MyObsCollection
{
get { return _obsCollection; }
}
tabela.ItemsSource = _obsCollection;
Это XAML код, который показывает связывание:
<DataGrid Grid.Column="0" AutoGenerateColumns="False" Height="206" HorizontalAlignment="Left" Margin="12,265,0,0" Name="tabela" VerticalAlignment="Top" Width="556" SelectionChanged="tabela_SelectionChanged" Grid.RowSpan="2" ItemsSource="Binding MyObsCollection">
<DataGrid.Columns>
<DataGridTextColumn Header="Type" Width="122" Binding="{Binding Item1}"/>
<DataGridTextColumn Header="MapTo" Width="122" Binding="{Binding Item2}"/>
<DataGridTextColumn Header="Name" Width="121" Binding="{Binding Item3}"/>
<DataGridTemplateColumn Header="Controller">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding DataGridChecked}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Service">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding DataGridChecked}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Injection">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding DataGridChecked}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
Я Практически я пытаюсь выполнить цикл всех трех столбцов, содержащих флажки, чтобы увидеть, какая из них выбрана, и если выбрано какое-либо из 3 в одной строке, тогда мне нужно отправить все 3 строковых значения из этой строки в некоторую переменную. Любой может мне помочь. Например, я не знаю, как получить свойство isSelected из флажка в сетке данных. Я проводил много исследований, и все, что я смог найти, было примером для DataGridView и почти ничего для DataGrid.
'ObservableCollection>' - Вы действительно должны создать правильные сильно типизированных модели данных вместо того, чтобы монстр, пожалуйста. –
@HighCore благодарит за комментарий ... Я все еще новичок, и я не знаю, как это сделать ... Возможно, вы знаете какие-то хорошие ссылки или учебные пособия о создании модели данных? Я знаю, что такой код грязный, но я все еще пытаюсь сумасшедшие вещи и исследую их. –