GridView 中自动生成列后 再添加模板列的时候能否控制它在后面显示 默认都是显示到第一列去了
比如
TemplateField temp = new TemplateField();
temp.HeaderText = "sdfasf";
dv.Columns.Add(temp);
这样它就给我加前面去了
在页面上直接加也是同样的效果不能用完成手动编辑列的方法来做,我比较讨厌,业务上也允许的,因为数据的列也是不固定的,在存储过程里生成的列根据情况变化分数都输光了,对不住大家,下次、下次多点
比如
TemplateField temp = new TemplateField();
temp.HeaderText = "sdfasf";
dv.Columns.Add(temp);
这样它就给我加前面去了
在页面上直接加也是同样的效果不能用完成手动编辑列的方法来做,我比较讨厌,业务上也允许的,因为数据的列也是不固定的,在存储过程里生成的列根据情况变化分数都输光了,对不住大家,下次、下次多点
解决方案 »
- 请问新闻生成静态页面,浏览次数怎么处理?
- Repeater 没有数据也循环
- 关于asp.net formview 插入后怎么使得插入框内保留插入前的数据
- oracle数据库连接问题,提示:table or view does not exist
- 局域网测试聊天程序
- img.PropertyItems 值不能为空。参数名: source
- asp.net中的HtmlInputFile控件工具箱里没有
- 请各位前辈指点:Mobile CPU PIII 1.133,376MB of RAM,HD 10G,想要组建一个ASP.NET开发及测试环境,如何是好?
- 为什么在vs03中aspx页面里,在<%%>。。。<%%>之间的代码都没效果?
- SQL Server Agent 執行時間不準確
- 求教:关于.NET定时发送邮件
- asp.net自定义用户和权限的问题
印象中应该有一个有一个其他方法
DataTable dt = new DataTable();
// dataAdapter.Fill(dt);GridView1.AutoGenerateColumns = false; // 不要自动生成列
// 根据读出的数据动态生成列
dt.Columns.Cast<DataColumn>().ToList().ForEach(c => GridView1.Columns.Add(new BoundField { DataField = c.ColumnName, HeaderText = c.ColumnName }));// 现在可以随便添加额外的列
TemplateField temp = new TemplateField();
temp.HeaderText = "sdfasf";
GridView1.Columns.Add(temp);// 最后绑定数据跟一般情况的一样
GridView1.DataSource = dt;
GridView1.DataBind();
是只能这么做的,gridView是按顺序生成列的,因为我们考虑到的永远是先加模板列 再绑定数据,所以数据列肯定在后面
除非gridview里有指明你现在添加的列是在绑定后才加上去的
总之DOTNET控件也有很多不完美之处
你试试吧,在我这可以