GridView自动生成列的位置调整 在我的页面上有个GridView,字段是自动生成列和一个模板列,现在的效果是自动生成列总是在后面,模板列在第一列, 我想要把模板列放到最后去,请问各位大哥这样可以吗?(前面的数据由于字段个数不确定,必须自动生成) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 切换到视图.选中gridview.点添加列.然后输入要绑定字段 以及输入该字段的名称 也就是列名..具体可以百度百度..这方面的东西比较多. AutoGenerateColumns="False" 手动写数据显示 模板列 一般是这么做的多 恩,我也知道手工绑定的话是比较方便的。但是我GridView前面的列是取的一张模板表里的数据字段,最后一列我想要放个模板列,模板列里放一个DIV+GRIDView,用来显示这一行的明细信息。并且让这个模板列换行显示,运行的时候默认是隐藏的,鼠标点当前行的时候才显示。相当于是查看明细 要实现你的方法可能GridView达不到,除非重写GridView.有个最笨的方法你可以试试: 就是设置 AutoGenerateColumns="False"然后 在 sql语句中控制,也就是说,你要显示哪些字段的顺序是你所写的 sql语句中的顺序,即 select 字段1,字段2,字段3,字段4,…… From 表sql语句可以动太生成 在databound里添加模板列或查询数据后动态建表,添加列,再绑定数据 恩,那个SQL语句已经可以生成了,并且可以绑在GRIDVIEW上了,可就是那个模板列总是在第一列,真是不好办啊 在RowDataBound里能动态创建模板列吗,并且能放入一个DIV和GRIDVIEW http://hi.baidu.com/sharenet/blog/item/df14b51c9a74078e86d6b65f.html给你看看这个吧 这很简单。大致是,首先设置属性AutoGenerateColumns="False" ,假设数据源是一个DataTable,并且你在设计时仅仅声明了2列(下面代码中要判断这个"2"),你可以在GridView的 DataBinding 事件处理方法中写: protected void GridView1_DataBinding(object sender, EventArgs e) { if (!GridView1.Columns.Count<=1) { foreach(DataColumn c in GetYourDataSourceTable();.Columns) { DataControlField cc = new AutoGeneratedField(c.ColumnName) //或者 CheckBoxField() cc.HeaderText = c.ColumnName, cc.DataField = c.ColumnName GridView1.Columns.Insert(0, cc); } } }这其实很简单的哦,稍微(独立地)抛析过一次GridView结构就可以推论出来这个代码。 if (!GridView1.Columns.Count<=2) 恩,我和你做的差不多,是这样写的protected void GridAcc_RowCreated(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { TableCell Tbcell = new TableCell(); Tbcell.ID = "Cell2"; e.Row.Cells.Add(Tbcell); GridView Grid = new GridView(); Grid.ID = "GridView2"; Grid.HeaderStyle.BackColor = System.Drawing.Color.White; e.Row.Cells[15].Controls.Add(Grid); e.Row.Cells[15].Width = 0; } }谢谢楼上的大哥 后台控制前台css样式 vs2008 asp.net: Login控件 控件背景为灰色 求ASP.NET vs2005的在编辑器!!!在线等 小问题,服务端怎么得到客户端控件的值 ASP.NET 2.0 下,如何将dataReader转换成datatable GridView的RowDataBound问题 关于response.redirect()的问题 我怎么学?请各位指教! 请教一个在ASP。NET页面调用插入记录存储过程的语句。。。 [散分] 向大家求一滑动门JS代码 javascript Array()如何在在asp.net cs 上写
选中gridview.点添加列.
然后输入要绑定字段 以及输入该字段的名称 也就是列名..
具体可以百度百度..这方面的东西比较多.
手动写数据显示 模板列
一般是这么做的多
但是我GridView前面的列是取的一张模板表里的数据字段,最后一列我想要放个模板列,模板列里放一个DIV+GRIDView,用来显示这一行的明细信息。并且让这个模板列换行显示,运行的时候默认是隐藏的,鼠标点当前行的时候才显示。相当于是查看明细
就是设置 AutoGenerateColumns="False"
然后 在 sql语句中控制,也就是说,你要显示哪些字段的顺序是你所写的 sql语句中的顺序,即
select 字段1,字段2,字段3,字段4,…… From 表sql语句可以动太生成
或查询数据后动态建表,添加列,再绑定数据
给你看看这个吧
{
if (!GridView1.Columns.Count<=1)
{
foreach(DataColumn c in GetYourDataSourceTable();.Columns)
{
DataControlField cc = new AutoGeneratedField(c.ColumnName) //或者 CheckBoxField()
cc.HeaderText = c.ColumnName,
cc.DataField = c.ColumnName
GridView1.Columns.Insert(0, cc);
}
}
}这其实很简单的哦,稍微(独立地)抛析过一次GridView结构就可以推论出来这个代码。
protected void GridAcc_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
TableCell Tbcell = new TableCell();
Tbcell.ID = "Cell2"; e.Row.Cells.Add(Tbcell);
GridView Grid = new GridView();
Grid.ID = "GridView2";
Grid.HeaderStyle.BackColor = System.Drawing.Color.White;
e.Row.Cells[15].Controls.Add(Grid);
e.Row.Cells[15].Width = 0;
}
}谢谢楼上的大哥