C#从绑定源绑定的类型化数据集中删除行的最佳方法

时间:2009-05-15 07:06:43

标签: c# datagridview dataset bindingsource

C#2008 SP1。

我正在从数据网格视图中当前选中的行中删除一行。

我使用的是Typed数据集,我的datagridview被绑定到绑定源。

然而,我认为我的技术不是最好的,即使它有效。

非常感谢任何建议,

 DataRow[] drDelete;
            // Get the value of the PK from the currently selected row
            DataRowView drv = (DataRowView)bsAddressBook.Current;
            int index = Convert.ToInt16(drv[0]);

            // Find the actual data row from the primary key and delete the row
            drDelete = dsCATDialer.AddressBook.Select(string.Format("ID = '{0}'", index));
            dsCATDialer.AddressBook.Rows.Remove(drDelete[0]);

2 个答案:

答案 0 :(得分:5)

您也可以使用BindingSource直接删除:

bsAddressBook.RemoveCurrent();

答案 1 :(得分:3)

我认为你可以使用DataRowView的Row属性来缩短它。

// Get the value of the PK from the currently selected row
DataRowView drv = (DataRowView)bsAddressBook.Current;

DataRow drDelete = drv.Row;
dsCATDialer.AddressBook.Rows.Remove(drDelete);