Как поставить строку после каждой группировки строк в GridView? - PullRequest
0 голосов
/ 17 января 2012

Я использую GridView, который имеет много строк с одинаковыми значениями, поэтому я сгруппировал эти строки, используя GridViewHelper class . Теперь я хочу поставить отдельную строку между значениями каждой группировки. Как это сделать?

Следующий снимок показывает текущую ситуацию: enter image description here

Ответы [ 2 ]

0 голосов
/ 17 января 2012

Вы можете попробовать что-то вроде ...

protected void Page_Load(object sender, EventArgs e)
{
    GridViewHelper helper = new GridViewHelper(this.GridView1);
    helper.RegisterGroup("yourGroupName", true, true);
    helper.GroupHeader += new GroupEvent(helper_GroupHeader);
}

private void helper_GroupHeader(string groupName, object[] values, GridViewRow row)
{
    if (groupName == "yourGroupName" )
    {
        row.Cells[0].Text = "<br />" + row.Cells[0].Text;
    }
} 

Вы также должны иметь возможность вставить новый до row вместо того, чтобы просто добавить строку разрыва в ячейку, если вы этого хотите.

0 голосов
/ 17 января 2012

Я не был уверен, хотите ли вы их стилизовать при рендеринге или при нажатии на строку. Так вот и то и другое. Вы можете решить, какие стили вы хотите. : -)

Установите соответствующие атрибуты в элементе управления ASP.NET GridView для управления CSS:

<asp:GridView ID="gridviewid" 
                      runat="server" 
                      CssClass="gridview" 
                      AutoGenerateSelectButton="True" 
                      GridLines="None"
                      AllowPaging="true"
                      PageSize="10">
            <HeaderStyle CssClass="gridViewHeader" />
            <RowStyle CssClass="gridViewRow" />
            <AlternatingRowStyle CssClass="gridViewAltRow" />
            <SelectedRowStyle CssClass="gridViewSelectedRow" />
            <PagerStyle CssClass="gridViewPager" />
        </asp:GridView>


protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        e.Row.CssClass = "cssClass";
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...