GridView用代码绑定数据库并显示当前选中行中的列的值

来源:百度知道 编辑:UC知道 时间:2024/06/02 16:13:33
目的,利用代码给GridView绑定数据,当点击"选择"时,使用文本框中显示GridView中选中行的各列的值.
代码如下:
打开网页时GridView1绑定数据
protected void Page_Load(object sender, EventArgs e)
{
da.SelectCommand = new SqlCommand("select * from users",conn);
da.Fill(ds, "user");
GridView1.DataSource = ds;
GridView1.DataBind();
}
在单击GridView1控件中的"选择"按钮时触发以下事件,可在文本框中显示各列的值
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
GridView gv = (GridView)sender;
tbUserName.Text = GridView1.Rows[gv.SelectedIndex].Cells[1].Text;
tbPassword.Text = GridView1.Rows[gv.SelectedIndex].Cells[2].Text;
tbPower.Text = GridView1.Rows[gv.SelectedIndex].Cells[3].Text;
}

问题:在点击"选择"时,文本框里什么都没有显示,但是用SqlDataSource做数据源绑定GridView显示数据时,却可以实现.为什么?在给GridView绑定数据源时少设置什么属性了么?很困惑,焐在这儿已经两天了,请高人指点一下新手吧!谢谢!
楼下各位说的我都试过,都不好使的.我想可能是自定义面板的

用自带的“编辑,更新,取消”不行么?
具体步骤:
先添加此列
Gridview的RowEditing事件中添加代码
即(点击编辑事件)
this.GridView1.EditIndex = e.NewEditIndex;
this.GridView1.DataBind();
就实现你说的效果了
更新和取消事件代码自己在网上找

点击选择时候,应该是这样的:
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
tbUserName.Text=GridView4.SelectedRow.Cells[1].Text;
tbPassword.Text = GridView4.SelectedRow.Cells[2].Text;
tbPower.Text = GridView4.SelectedRow.Cells[3].Text;

}
注意:你的选择按钮列如果出现在网格控件的最左边则如以上代码;如果是在最右边列则将单元格的数字索引改下就OK了。

GridView gv = (GridView)sender;
不需要把,这个我做过的,代码放在家里了。

打你的也没代码看看是不是少了<%#Eval("uname")%>,如果不是换成这个就OK了。在不行你找我,我帮你解决。