从datagrid获取数据会返回空字符串

时间:2012-05-08 13:08:21

标签: c# wpf .net-4.0 wpf-controls

在一个项目中,我试图从datagrid获取已插入datagrid的数据,但我获取的数据为所有字段的空字符串。

datagrid的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);

        }

我做错了什么,因为消息框正在获取空字符串。

1 个答案:

答案 0 :(得分: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];