как объединить строки с предыдущей строкой, если значение col пустое в gridview c#

#c#

Вопрос:

хотите обновить таблицу gridview с помощью строки слияния.

У меня есть 3 столбца slno, Имя, описание теперь, если какое-то имя пустое, я хочу объединить с предыдущей записью ,

старая запись посмотрите

Как мы можем сделать, как показано ниже, новый вид записи

Ответ №1:

Мы даем MergeRows функции GridView , которую мы хотим изменить, а затем перебираем каждую строку, начиная со второй снизу вверх.

Если значение ячейки empty равно, мы объединяем его с предыдущим. Это делается с увеличением RowSpan , а затем созданием нижней ячейки invisible .

Пример:

 public void MergeRows(GridView gridView) {
    // Loop through each row in our gridView.
    for (int rowIndex = gridView.Rows.Count - 2; rowIndex >= 0; rowIndex--) {
        // Get the current row.
        GridViewRow row = gridView.Rows[rowIndex];
        // Get the previous row.
        GridViewRow previousRow = gridView.Rows[rowIndex   1];

        // Loop through each cell of our row.
        for (int i = 0; i < row.Cells.Count; i  ) {
            // Check if the given row is empty.
            if (row.Cells[i].Text == string.Empty) {
                // Increase RowSpan Size for the given cell.
                row.Cells[i].RowSpan = previousRow.Cells[i].RowSpan < 2 ? 2 : 
                    previousRow.Cells[i].RowSpan   1;
                // Set the previous cell to invisble.
                previousRow.Cells[i].Visible = false;
            }
        }
    }
}
 

Как объединить строки представления сетки (ячейки с равными значениями)