0

私は質問に直面しています(おそらく非常に基本的なものです)。私はコンボボックス 1 を持っていて、以前のコントロールから値 (たとえば 1,2,3,4,5) を入力しています。

コンボボックス 1 から値を選択することに基づいて、データグリッドの列を設定します。

現在、データグリッドには 4 つの列があり、1 つの DataGridcheckboxcolumn (値はデフォルトでオンに設定)、1 つの DataGridtextboxcolumn1 (コンボボックス 1 からの自動入力用) (最も重要な部分)、1 つの DataGridTextBoxColumn2 (デフォルト値として設定)、および 1 つの DataGridComboBoxColumn (デフォルト値に設定) があります。 AVS_DB from 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

あなたが何をしたのか正確にはわかりません。ただし、2つのオプションがあります。
オプション1:ブール値、文字列、文字列、列挙型の値に対して、意味のあるプロパティ名を使用してデータを保持するクラスを定義します。このクラスはINotifyPropertyChangedを実装する必要があります。次に、DataGridをそれらのオブジェクトのリストにバインドします。
オプション2:データベースを定義し(SQL Server Compact Edition 3.5を使用し、Access、MySQLを使用できます...多くのDBがあります)、DataGridをこのDBにバインドします。

于 2012-08-16T11:50:22.943 に答える