新手求教 dataGridView的问题

gton08 2009-05-22 05:20:25
大家好
我建的一个表
表名为worker_info 有id,name,tel,addres,PS几个字段
我建了一个dataGridView并绑定 不知道代码有没问题

SqlConnection GridViewconn = new SqlConnection(class_sql.sqlconstring);
GridViewconn.Open();
string GridViewstr = "select * from worker_info ";
SqlCommand GridViewcmd = new SqlCommand(GridViewstr, GridViewconn);
SqlDataAdapter datapda = new SqlDataAdapter(GridViewcmd);
DataSet Ds = new DataSet();
Ds.Clear();
datapda.Fill(Ds, "worker_info");
dataGridView1.DataSource = Ds;
dataGridView1.DataMember = "worker_info";
dataGridView1.Columns[0].HeaderText = "ID";
dataGridView1.Columns[1].HeaderText = "姓名";
dataGridView1.Columns[2].HeaderText = "电话";
dataGridView1.Columns[3].HeaderText = "地址";
dataGridView1.Columns[4].HeaderText = "备份";
dataGridView1.Columns[4].Width = 150;
dataGridView1.Columns[0].DataPropertyName = "id";



我还想实现点击dataGridView中的某一个行,该行的值就会传到相应的几个textbox中

还有在一个文本框中查询,dataGridView中就只显示查询出得结果

查了很多资料了,实在是没办法,谢谢了

...全文
122 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
gton08 2009-05-22
  • 打赏
  • 举报
回复
知道怎么做了

应该用单击事件
谢谢各位了
分散给大家
zhuhai601 2009-05-22
  • 打赏
  • 举报
回复
直接绑定不就可以了么?
lsj_zrp 2009-05-22
  • 打赏
  • 举报
回复
SqlConnection GridViewconn = new SqlConnection(class_sql.sqlconstring);
GridViewconn.Open();
string GridViewstr = "select * from worker_info ";
SqlCommand GridViewcmd = new SqlCommand(GridViewstr, GridViewconn);
SqlDataAdapter datapda = new SqlDataAdapter(GridViewcmd);
DataSet Ds = new DataSet();
Ds.Clear();
datapda.Fill(Ds, "worker_info");
dataGridView1.DataSource = Ds.Table["worker_info"];
dataGridView1.Columns[0].HeaderText = "ID";
dataGridView1.Columns[1].HeaderText = "姓名";
dataGridView1.Columns[2].HeaderText = "电话";
dataGridView1.Columns[3].HeaderText = "地址";
dataGridView1.Columns[4].HeaderText = "备份";
dataGridView1.Columns[4].Width = 150;


private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
textBox1.Text = this.dataGridView1.CurrentRow.Cells[0].Value.ToString();
textBox2.Text = this.dataGridView1.CurrentRow.Cells[1].Value.ToString();
textBox3.Text = this.dataGridView1.CurrentRow.Cells[2].Value.ToString();
}
gton08 2009-05-22
  • 打赏
  • 举报
回复
private void grid_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{if(datagridview1.SelectedRows.Count>0){
txtbox0.text=datagridview1.SelectedRows[0].Cell[0].Value.ToString();
txtbox1.text=datagridview1.SelectedRows[0].Cell[1].Value.ToString();
txtbox3.text=datagridview1.SelectedRows[0].Cell[2].Value.ToString();
}
}

这个也不行
gton08 2009-05-22
  • 打赏
  • 举报
回复


private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
textBox1.Text =dataGridView1.Rows[dataGridView1.CurrentRow.Index ].Cells["id"].Value.ToString() ;
textBox2.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["name"].Value.ToString();
textBox3.Text=dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["password"].Value.ToString();
}



试了下
这个不行
datafansbj 2009-05-22
  • 打赏
  • 举报
回复
还是使用SelectionChange事件吧
gton08 2009-05-22
  • 打赏
  • 举报
回复
谢谢楼上的几位
调了半天还是不行
我再试下
xiangchengboy 2009-05-22
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wxm3630478 的回复:]
这个很好办


C# code
//用这个支持上下键
private void dataGridView1_RowEnter(object sender, DataGridViewCellEventArgs e)
{
textBox1.Text = dataGridView1.Rows[e.RowIndex].Cells["列名"].Value.ToString();
}

/*查询的话就是又从数据库里查询一遍 然后重新绑定 */
[/Quote]
顶!
wuyq11 2009-05-22
  • 打赏
  • 举报
回复
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
textBox1.Text =dataGridView1.Rows[dataGridView1.CurrentRow.Index ].Cells["id"].Value.ToString() ;
textBox2.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["name"].Value.ToString();
textBox3.Text=dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["password"].Value.ToString();
}
参考
boywangliang 2009-05-22
  • 打赏
  • 举报
回复
都给答案了
帮顶下
wxm3630478 2009-05-22
  • 打赏
  • 举报
回复
这个很好办


//用这个支持上下键
private void dataGridView1_RowEnter(object sender, DataGridViewCellEventArgs e)
{
textBox1.Text = dataGridView1.Rows[e.RowIndex].Cells["列名"].Value.ToString();
}

/*查询的话就是又从数据库里查询一遍 然后重新绑定 */
ginni215 2009-05-22
  • 打赏
  • 举报
回复
响应dataGridView的click()实践,然后通过dataGridView.selectedrows.index获得行索引,
然后在将dataGridView对应行的每一列的值dataGridView.rows[行].cells[列].tostring()给textbox就可以了~~
老潇 2009-05-22
  • 打赏
  • 举报
回复
有单击事件,
还有SelectRow
c02645 2009-05-22
  • 打赏
  • 举报
回复
private void grid_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{if(datagridview1.SelectedRows.Count>0){
txtbox0.text=datagridview1.SelectedRows[0].Cell[0].Value.ToString();
txtbox1.text=datagridview1.SelectedRows[0].Cell[1].Value.ToString();
txtbox3.text=datagridview1.SelectedRows[0].Cell[2].Value.ToString();
}
}
jueyingfd 2009-05-22
  • 打赏
  • 举报
回复
加我QQ:我给你个例子。其实datagridview有一个双击或单击事件。360518412
SunSiShuXu 2009-05-22
  • 打赏
  • 举报
回复
在他的点击事件用Selected写
Profiteerchen 2009-05-22
  • 打赏
  • 举报
回复
我还想实现点击dataGridView中的某一个行,该行的值就会传到相应的几个textbox中

相应的textbox绑定数据源就可以

110,532

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧