Удалить несколько строк из сетки - PullRequest
1 голос
/ 20 июля 2011

Как удалить несколько строк из XtraGrid? Я использую DevEx версии 10.2. Есть ли уроки?

Ответы [ 2 ]

1 голос
/ 20 июля 2011

Вы можете получить выбранные строки, используя метод GetSelectedRows (с хорошим названием, верно?).Затем вы можете просто использовать цикл, чтобы пройти по строкам и удалить выбранные.

Кроме того, я нашел этот «учебник», который может быть тем, что вы ищете: http://www.devexpress.com/Support/Center/KB/p/A234.aspx

В нем рассказывается о методе ColumnView.DeleteSelectedRows , хотя он доступен только в более новых версиях XtraGrid.

0 голосов
/ 14 ноября 2011

вы не можете удалить более одной строки за раз, но мы можем обмануть c #. на самом деле, когда вы удаляете одну строку из вида сетки с помощью этого оператора GridData.Rows.RemoveAt(RowIndex); количество строк уменьшается на единицу, и индекс строки будет меняться, поэтому вы должны быть осторожны с этим. здесь вы можете сначала создать целочисленную переменную, равную нулю, а когда вы удалите одну строку, увеличьте ее на единицу. во-вторых, поместите индекс строк, которые вы хотите удалить, в массив, а затем используйте цикл 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}}
}
...