2011-07-20 51 views

回答

1

您可以使用GetSelectedRows方法(很好地命名的权利?)获得选定的行。 然后,您可以使用循环遍历行并删除选定的行。

另外,我发现这个“教程”,这可能是你在找什么:http://www.devexpress.com/Support/Center/KB/p/A234.aspx

它谈到了ColumnView.DeleteSelectedRows方法,虽然这只是在XtraGrid中的较新版本。

+0

从电网选择多行。并单击删除它们。很好地了解理论方面,但如果我能看到允许一次从网格中删除多行的工作代码,那将是非常好的。我可以通过获得专注的行处理来删除单行。 – Cannon

+0

@buffer查看我的更新评论。基本上,它获得了一系列重点突出的句柄。 – Yuf

+0

GetSelectedRows已经明确。会试试看。谢谢。 – Cannon

0

你不能删除多于一行的时间,但我们可以欺骗的C#。 实际上,当您使用此语句从网格视图中删除一行时GridData.Rows.RemoveAt(RowIndex); 行计数减1并且行索引将更改,因此您必须注意这一点。 在这里,首先您可以创建一个等于零的整数变量,并且当您将一行增量删除一个时。 秒,将要删除的行的索引放入数组中,然后使用for循环删除行,但在发送参数时要小心。

int deletedValue = 0 ; 

for (int j = 0; j < counter; j++)

{ 
if (Array.binarySearch(myArray,j)){ 
    GridData.Rows.RemoveAt(j-deletedValue); deletedValue++;` 
} 
else {//The non deleted rows}} 
}