Как сделать несколько строк в одной ячейке с помощью GridView

0

здесь я столкнулся с одной задачей... В моем gridview есть два cols ok, называемые пользователем и профилем. Мне нужно отобразить список профилей, связанных с пользователем в одной ячейке (несколько строк). как это сделать??? Это то, что я пробовал

      <asp:BoundField DataField="UserName" HeaderText="User">
                        <HeaderStyle HorizontalAlign="Left" />
                        <ItemStyle HorizontalAlign="Left" />
                    </asp:BoundField>
                    <%--<asp:BoundField DataField="ProfileName" HeaderText="Profile">
                        <HeaderStyle HorizontalAlign="Left" />
                        <ItemStyle HorizontalAlign="Left" />
                    </asp:BoundField>--%>
                    <asp:TemplateField>
                        <HeaderTemplate>Profile</HeaderTemplate>
                        <ItemTemplate>
                            <%#Eval("UserName.ProfileName")%>
                        </ItemTemplate>
                    </asp:TemplateField>
Теги:

1 ответ

0

Вы объединяете строку в соответствии с условием. Вот хороший пример

http://www.codeproject.com/Articles/34337/How-to-merge-cells-with-equal-values-in-a-GridView

public static void MergeRows(GridView gridView)
{
    for (int rowIndex = gridView.Rows.Count - 2; rowIndex >= 0; rowIndex--)
    {
        GridViewRow row = gridView.Rows[rowIndex];
        GridViewRow previousRow = gridView.Rows[rowIndex + 1];

        for (int i = 0; i < row.Cells.Count; i++)
        {
            if (row.Cells[i].Text == previousRow.Cells[i].Text)
            {
                row.Cells[i].RowSpan = previousRow.Cells[i].RowSpan < 2 ? 2 : 
                                       previousRow.Cells[i].RowSpan + 1;
                previousRow.Cells[i].Visible = false;
            }
        }
    }
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню