Слияние строк в виде сетки с помощью шаблона элемента в ASP.NET
Всем Привет,
Я хочу объединить строки сетки с шаблоном элемента,
Я пытался так много думать в сети, но не мог получить точный результат,
Если какой-либо орган знает результат, пожалуйста, сообщите мне об этом.
Я хочу получить следующий результат( у меня есть дизайн HTML-формата для вашей ясности).
<!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8" /> <title></title> </head> <body> <table border="1" style="width:100%;"> <tr> <td style="font-weight: 700">Name</td> <td style="font-weight: 700">Subject</td> <td style="font-weight: 700">Mark</td> <td style="font-weight: 700">Action</td> </tr> <tr> <td rowspan="3" >Sathish</td> <td>S1</td> <td>M1</td> <td> <input type="button" value="button" /> </td> </tr> <tr> <td>S2</td> <td>M2</td> <td> <input type="button" value="button" /> </td> </tr> <tr> <td>S3</td> <td>M3</td> <td> <input type="button" value="button" /> </td> </tr> <tr> <td rowspan="2">Kumar</td> <td>S1</td> <td>M1</td> <td> <input type="button" value="button" /> </td> </tr> <tr> <td>S2</td> <td>M2</td> <td> <input type="button" value="button" /> </td> </tr> </table> </body> </html>
заранее спасибо.
Что я уже пробовал:
Я попробовал следующий код для слияния строк
public void GridView_Row_Merger(GridView gridView) { for (int rowIndex = gridView.Rows.Count - 2; rowIndex >= 0; rowIndex--) { GridViewRow currentRow = gridView.Rows[rowIndex]; GridViewRow nextRow = gridView.Rows[rowIndex + 1]; // GridViewRow nextPRow = gridView.Rows[rowIndex + 2]; int totalCount = currentRow.Cells.Count - 1; for (int i = 0; i < currentRow.Cells.Count; i++) { if (currentRow.Cells[i].Text == nextRow.Cells[i].Text) { if (nextRow.Cells[i].RowSpan < 2) { if (i != totalCount) { currentRow.Cells[i].RowSpan = 2; currentRow.BackColor = Color.Gray; } } else { // nextRow.Cells[i].RowSpan = nextPRow.Cells[i].RowSpan + 2; if (i != totalCount) { currentRow.Cells[i].RowSpan = nextRow.Cells[i].RowSpan + 1; currentRow.BackColor = Color.Gray; } } if (i != totalCount) { nextRow.Cells[i].Visible = false; nextRow.BackColor = Color.White; //nextRow.BackColor = Color.Wheat; } //nextPRow.Cells[i].Visible = false; } } } }