日期:2014-05-19  浏览次数:20496 次

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的自动生成字段,这样就可以随意修改