gridview手工数据源 列显示 方面的问题
在手工数据源中,有3个列,分别是A、B、C,然后我在gridview里面添加了一个column D 现在我想把显示的顺序变成 A B D C,请问该怎么做,D是一个超连接,是我想代替B的,请问不显示B又该怎么做
<Columns>
<asp:TemplateField HeaderText= "123 " >
<ItemTemplate>
<asp:HyperLink Text= ' <%# Eval( "B ")%> ' NavigateUrl= "~/login.aspx " runat= "server "> </asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
</Columns>
------解决方案--------------------没什么好办法,有个笨办法.如交换第0列和第一列.
if (e.Row.RowType == DataControlRowType.Header || e.Row.RowType == DataControlRowType.DataRow)
{
TableCell tmpCell = new TableCell();
foreach (Control c in e.Row.Cells[0].Controls)
{
tmpCell.Controls.Add(c);
}
foreach (Control c in e.Row.Cells[1].Controls)
{
e.Row.Cells[0].Controls.Add(c);
}
foreach (Control c in tmpCell.Controls)
{
e.Row.Cells[1].Controls.Add(c);
}
}
------解决方案--------------------你是自动生成列吗?
我推荐手工生成列,如果想对一些列进行设置还可以使用模板列
------解决方案--------------------自动生成列其实带来很多不必要的麻烦,尤其是你要自定义显示效果的时候,模板列显得更为自由一些
------解决方案--------------------不要选中GridView的自动生成字段,这样就可以随意修改