0

我面临一个问题(可能非常基本)。我有一个组合框 1,它填充了早期控件的值(比如 1、2、3、4、5)。

现在基于从组合框1 中选择一个值,我想填充数据网格的列。

现在,数据网格有 4 列,一列 DataGridcheckboxcolumn(值设置为默认选中),一列 DataGridtextboxcolumn1 用于从组合框 1(最重要的部分)自动填充,一列 DataGridTextBoxColumn2(设置为默认值)和一列 DataGridComboBoxColumn(设置为默认值AVS_DB 来自 AVS、DB、AVS_DB)。

我的问题非常基本。

如何获取填充的数据网格中的值。

xaml 和代码隐藏如下:

<DataGrid Name="dtgQCNumbers" Width="400" AutoGenerateColumns="False" 
          Grid.ColumnSpan="2" Height="100" Grid.RowSpan="5" Grid.Row="6" 
          SelectionChanged="dtgQCNumbers_SelectionChanged" 
          Grid.Column="1" Margin="3,10,125,15">
    <DataGrid.Columns>
        <DataGridCheckBoxColumn Header="Enter_Choice" Width="100" 
            Binding="{Binding Path=DataGridCheckBox_Option}" />
        <DataGridTextColumn Header="QC_ID" Width="100" 
            Binding="{Binding Path=DataGridTextBox_QCList1}" />                               
        <DataGridTextColumn Header="Summary" Width="100"
            Binding="{Binding Path=DataGridTextBox_QCSummary}" />
        <DataGridComboBoxColumn Header="ControlOption" Width="100"
            SelectedItemBinding="{Binding Path=DataGridComboxBox_Control}">
            <DataGridComboBoxColumn.ItemsSource>
                <col:ArrayList>
                    <sys:String>AVS</sys:String>
                    <sys:String>DB</sys:String>
                    <sys:String>AVS_DB</sys:String>
                </col:ArrayList>
            </DataGridComboBoxColumn.ItemsSource>
        </DataGridComboBoxColumn>
        </DataGrid.Columns>
            grid.ColumnWidth = new DataGridLength(100);
        </DataGrid>

填充 ComboBox 的代码(在数据网格之前)是:

private void ddlCR_SelectionChanged(object sender, SelectionChangedEventArgs e)
  {
     btnSubmit.IsEnabled = true;
     ClearStatusMessages();
     if (ddlCR.SelectedIndex > 0)
     {
        PopulateQCIdList();
     }
  }

现在 PopulateQCIdList() 应该填充 DataGrid 列(所有 4 列、3 个默认值和从我们从组合框中选择的值驱动的值)

代码隐藏是我想知道在填充 ComboBox 后填充数据的内容,即我想知道如何使用 PopulateQCIdList() 方法准确填充 DataGrid。

如果我错过任何信息,请编辑/让我知道

4

1 回答 1

0

我不知道你到底做了什么。但是您有两个选择:
选项 1:定义一个类,该类将包含您的数据,具有有意义的属性名称,用于您的布尔值、字符串、字符串、枚举值。此类应实现 INotifyPropertyChanged。然后将您的 DataGrid 绑定到这些对象的列表。
选项 2:定义一个数据库,(我使用 SQL Server Compact Edition 3.5,您可以使用 Access、MySQL ......有很多 DB),然后将 DataGrid 绑定到这个 DB。

于 2012-08-16T11:50:22.943 回答