日期:2014-05-18  浏览次数:20365 次

想问一个GridView与数据表绑定的问题!!!!!!所有分全部用上了
Dim   dtset   As   New   Data.DataSet
...这之间是建立命令对象并填空dtset中的表 "lgh "等
GridView1.DataSource   =   dtset
GridView1.DataMember   =   "lgh "
GridView1.DataBind()

我发现能够显示sql2000数据库中的表的所有的数据!

现在我想问两个问题:
1、表 "lgh "是从数据库中的表查询来的。有下列字段:
Forum_Id(int)、Topic(nvarchar)、Author(nchar)、TopicTime(datetime)。

现在我想控制GridView1显示表 "lgh "中的列Topic、Author、TopicTime,而不显示Forum_Id。不知该怎么办?


2、我在GridView1中添加一列Button。想在Button的单击事件处理过程中获取Forum_Id的值,不知该怎么办?请高手指教,谢谢!!!



------解决方案--------------------
http://pub.bbs.xunlei.com/fcg-bin/post.fcg?club=.NET&id=21
------解决方案--------------------
1)可以gv.Columns[0].Visiable = false; //formID在第一行的话
2)GridView的AutoColumnGenerate要设为false
------解决方案--------------------
1、设置个隐藏列绑定Forum_Id


2、设置Button的commandname= "tijiao "
if(e.commandname= "tijiao ")
{
//在这里把Forum_Id取出来
}


------解决方案--------------------
可以通过事件对象的获得row index 再去拿column[0]里的值
------解决方案--------------------
这样试下

1、
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
e.Row.Cells[1].Visible = false; //这里1为该列的索引
}


2、
要取该隐藏列的值
Response.Write(GridView1.Rows[0].Cells[1].Text); //这里Cells[1]中的1同样为该列的索引,Rows的索引就根据Button所在行来得到了

------解决方案--------------------
1、去掉gridview的自动生成列功能。
设置每行的绑定对象
2、设置GridView的DataKeys. 绑定Forum_Id(int),在点击按钮的同时提取 该keys
当然 最好设置 button
------解决方案--------------------
路过!!!!
你设置AutoColumnGenerate=false,如果你不想的话.可以在数据库里面设置:如:
select form_id as Topic,.........
from 表