如何gridview中动态创建表头? 一个页面中只有一个gridview,现需要根据不同按钮选择不同的数据表,将数据显示在gridview中,有什么方法可以动态创建表头,和取得想要字段的值吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <HeaderTemplate><%=headico%></HeaderTemplate><ItemTemplate><%# ((DataRowView)Container.DataItem)["pic"] %></ItemTemplate>这样绑定不可以吗 不同表绑定字段也会不一样的……最好不要这样用所有的都是动态的,不如直接自己生成HTML代码好了GV出来也是个TABLE而已 我的各个button事件里帮定了不同的SQL语句,用于选择不用的表,我把gridview的AutoGenerateColumns属性设置为true时,可以动态把不用表的数据显示出来,但是其表头却是SQL表里面的表头(全英文的),我想另外再设置下自己定义的表头,有什么属性方法可以修改得了吗? 这就要递归查询表头的内容,你可以从网上找找RealWord 的GridView列子,那就是个动态创建表头的控件,很不错 现在是可以动态把数据显示出来,但表头只能是SQL里的表头,我想把表头内容替换下。 select username as 用户名 from 表名这是动态显示girdview每一列列名的sql语句 select username as 用户名 from 表名只能一次取一列吗?可以一起取吗?select username as 列名1 列名2 .. from 表名? 写错了,select * as 列名1,列名2 .. from 表名?上面这样写,列名可以显示在表头那吗? void ColSpan()//合并列单元格 { for(int i=0;i<prevDg.Items.Count;i++) { if (prevDg.Items[i].Cells[3].Text.Trim()=="0" && prevDg.Items[i].Cells[4].Text.Trim()=="0" ) { prevDg.Items[i].Cells[2].ColumnSpan=3; prevDg.Items[i].Cells[3].Visible=false; prevDg.Items[i].Cells[4].Visible=false; } } } void RowSpan()//合并行单元格 { int j; int n; for(int i=0;i<prevDg.Items.Count;i++) { n=1; for (j=i+1;j<prevDg.Items.Count;j++) { if(prevDg.Items[i].Cells[0].Text.Trim()==prevDg.Items[j].Cells[0].Text.Trim() && prevDg.Items[i].Cells[7].Text.Trim()==prevDg.Items[j].Cells[7].Text.Trim()) { n += 1; prevDg.Items[i].Cells[0].RowSpan=n; prevDg.Items[j].Cells[0].Visible=false; } else break; } i=j-1; } } 老孟有个例子,去他blog上看看 可以动态生成gridview,根据你的结果集动态增加列 例如:往一个正常显示的GridView里末尾增加一列: protected void Button1_Click(object sender, EventArgs e) { BoundField bf = new BoundField(); bf.HeaderText = "newColumn"; bf.DataField = "Address"; GridView1.Columns.Add(bf); //GridView1.DataBind(); //如果GridView通过指定其DataSourceID方式进行绑定,可不用此句。找到了个例子,哈哈,明天试下。。 写错了,select * as 列名1,列名2 .. from 表名?===========================================select uid as 用戶編號,username as 用戶名,age as 年齡 ....... from yourtable再設 AutoGenerateColumns =True 用 DataTableMapping 建立数据库表和 DataTable 的是映射,然后填充 DataTable 绑定 DataTable 这也是一个改变字段名的方法要复杂看老孟的 http://dotnet.aspx.cc/article/01c21aa8-7de7-4c5d-ab0c-4736e259b773/read.aspx AutoGenerateColumn=true即可显示SQL语句中的字段的 请说说nintegrate nbearlite nbear是啥玩意? urlRewriter Forms验证的奇怪问题,很有挑战,求助 请问大家,知道文件的扩展名,怎样获得该文件的系统图标!(在线等) 请高手帮忙改改脚本 客户端 请问如何在点击某按钮以后页面不重新加载? 100分求救! 请问哪有下载biztalk和sharepoint? vs.net中创建的web应用程序为什么一运行就自动保存? 用户控件不能使用WEB控件的事件控制它的属性的吗? 用户注册中的三个问题! 自动生成流水号,事务回滚,异常处理 calendar选择日期
<%=headico%>
</HeaderTemplate><ItemTemplate>
<%# ((DataRowView)Container.DataItem)["pic"] %>
</ItemTemplate>
这样绑定不可以吗
这是动态显示girdview每一列列名的sql语句
只能一次取一列吗?
可以一起取吗?
select username as 列名1 列名2 .. from 表名?
上面这样写,列名可以显示在表头那吗?
{
for(int i=0;i<prevDg.Items.Count;i++)
{
if (prevDg.Items[i].Cells[3].Text.Trim()=="0" && prevDg.Items[i].Cells[4].Text.Trim()=="0" )
{
prevDg.Items[i].Cells[2].ColumnSpan=3;
prevDg.Items[i].Cells[3].Visible=false;
prevDg.Items[i].Cells[4].Visible=false;
}
}
}
void RowSpan()//合并行单元格
{
int j;
int n;
for(int i=0;i<prevDg.Items.Count;i++)
{
n=1;
for (j=i+1;j<prevDg.Items.Count;j++)
{
if(prevDg.Items[i].Cells[0].Text.Trim()==prevDg.Items[j].Cells[0].Text.Trim() && prevDg.Items[i].Cells[7].Text.Trim()==prevDg.Items[j].Cells[7].Text.Trim())
{
n += 1;
prevDg.Items[i].Cells[0].RowSpan=n;
prevDg.Items[j].Cells[0].Visible=false;
}
else break;
}
i=j-1;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
BoundField bf = new BoundField();
bf.HeaderText = "newColumn";
bf.DataField = "Address";
GridView1.Columns.Add(bf);
//GridView1.DataBind(); //如果GridView通过指定其DataSourceID方式进行绑定,可不用此句。
找到了个例子,哈哈,明天试下。。
===========================================
select uid as 用戶編號,username as 用戶名,age as 年齡 ....... from yourtable再設 AutoGenerateColumns =True
即可显示SQL语句中的字段的