sv sathish Ответов: 0

Слияние строк в виде сетки с помощью шаблона элемента в 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;
                   }
               }
           }
       }

0 Ответов