public DataView VariationGrid
{
get
{
if (_vargrid != null)
{
return _vargrid;
}
else
{
DataTable data = new DataTable();
#region Columns
foreach (var param in SelQuestion.QuestionParameters)
{
DataColumn datac = new DataColumn(param.Name);
data.Columns.Add(datac);
}
#endregion
#region Rows
foreach (Variation variation in SelQuestion.Variations)
{
DataRow datarow = data.NewRow();
foreach (var parameter in variation.QuestionParameters)
{
datarow[parameter.Key.Name] = parameter.Value;
}
data.Rows.Add(datarow);
}
#endregion
return data.DefaultView;
}
}
set
{
_vargrid = value;
RaisePropertyChanged("VariationGrid");
}
}
Вот как я сделал мой ItemsSource из DataGrid ... Итак, как вы можете видеть, каждая строка - это отдельная вариация, а каждый столбец - QuestionParameters.
Вот как я связываю это с моей сеткой данных:
<DataGrid SelectedIndex="{Binding Path=SelectedRow}" ItemsSource="{Binding Path=VariationGrid}" AutoGenerateColumns="True" Height="153" HorizontalAlignment="Left" Margin="12,12,0,0" Name="dataGrid3" VerticalAlignment="Top" Width="301" >
Теперь мой вопрос:
Когда я редактирую ячейку, ей нужно изменить значение параметра вопроса варианта, который я выбрал. Как мне это сделать, потому что у меня теперь есть идея ...