1

datagridプロジェクトでは、から挿入されたデータを取得しようとしていますdatagridが、データはすべてのフィールドで null 文字列を取得しています。

データグリッドの xaml 宣言は次のとおりです。

<DataGrid  RowEditEnding="linesGrid_RowEditEnding" CanUserResizeColumns="True" CanUserSortColumns="True" Grid.ColumnSpan="2"  AutoGenerateColumns="True" ItemsSource="{Binding}" Name="linesGrid" />

データを取得するために使用しているイベントは RowEditEnding ですが、新しい行のデータを取得していません。イベント ハンドラーの実装は次のとおりです。

String LineID;
        String Connection_Type;

        //MessageBox.Show(linesGrid.Items.Count.ToString());


        for (int i = 0; i < linesGrid.Items.Count - 1; i++)
        {
            System.Data.DataRowView item = (System.Data.DataRowView)linesGrid.Items[3];

            //fetch columns
            LineID = item.Row[0].ToString();
            MessageBox.Show(LineID);
            Connection_Type = item.Row[1].ToString();
            MessageBox.Show(Connection_Type);

        }

メッセージボックスが空の文字列を取得しているため、私が間違っていることは何ですか.

4

1 に答える 1

2

なぜあなたはループしていて、ループから i を使用していないのですか?

    for (int i = 0; i < linesGrid.Items.Count - 1; i++)
    {
        System.Data.DataRowView item = (System.Data.DataRowView)linesGrid.Items[3];

        //fetch columns
        LineID = item.Row[0].ToString();
        MessageBox.Show(LineID);
        Connection_Type = item.Row[1].ToString();
        MessageBox.Show(Connection_Type);

    }

ということですか?

    System.Data.DataRowView item = (System.Data.DataRowView)linesGrid.Items[i];
于 2012-05-08T13:19:24.903 に答える