【发布时间】:2015-10-15 19:29:37
【问题描述】:
我有一个网格视图,它显示的结果集如下
customer |2011 shipped qty|2011 sales price|2012 shipped qty|2012 sales price
aa 1 2.00 2 5.50
cc 2 3.00 4 6.25
我有两个下拉列表
monthdropdown1 和 Quarterdropdown2
如果用户选择monthdropdown1作为jan,在网格结果中它应该显示为
customer|2011 shipped qty|2011 sales price| 2012 shipped qty| 2012 sales price|
jan jan jan jan
aa 1 2.00 2 5.50
cc 2 3.00 4 6.25
也分别与季度相同
我只需要将选定的下拉文本添加到网格视图标题列
注意:这里我的网格列属性是 autogeneratedcolumn = true
请帮我解决我们是否可以将所选文本添加到 gridview 列标题或可以为所选文本添加单独的标题列
我在Rowdatabound event 中尝试过使用此代码,但对我不起作用
if (e.Row.RowType == DataControlRowType.Header)
{
GridViewRow HeaderRow = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Insert);
TableCell HeaderCell2 = new TableCell();
HeaderCell2.Text = (DropDownList1.SelectedItem.Text);
HeaderCell2.ColumnSpan = 0;
HeaderRow.Cells.Add(HeaderCell2);
DataGrid1.Controls[0].Controls.AddAt(0, HeaderRow);
}
如果可能的话,请给我任何其他解决方案
HTML
<asp:GridView ID="DataGrid1" Style="visibility: visible" runat="server" AlternatingRowStyle-BackColor="#E9EDF5"
Font-Names="Arial" ForeColor="#09538A" Font-Size="12px" BackColor="#ffffff" BorderColor="DarkGray"
Font-Bold="true" HeaderStyle-BackColor="#298DC7" EnableViewState="false" CellSpacing="20"
CellPadding="10" ShowFooter="false" HeaderStyle-Font-Bold="true" AutoGenerateColumns="True" OnRowDataBound="DataGrid1__RowDataBound">
<RowStyle HorizontalAlign="Right" Height="20px"/>
<alternatingrowstyle Height="20px" BackColor="#E9EDF5"/>
<%-- OnRowCommand="DataGrid1__RowCommand" OnRowDataBound="DataGrid1__RowDataBound">--%>
<HeaderStyle Font-Names="Arial;" CssClass="MyHeaderStyle" Font-Size="13px" ForeColor="White"
Font-Bold="True" Height="20" BackColor="#298DC7"></HeaderStyle>
<AlternatingRowStyle BackColor="#E9EDF5" />
</asp:GridView>
【问题讨论】: