常有人说,只有想不到,没有做不到。但我碰到一个看似简单,却是一个不能完成的任务!
一个项目明细表,有项目代码、项目名称等若干字段,绑定在GRIDVIEW上,在TXTBOX中项目代码,按回车后GRIDVIEW上显示该代码所对应的记录(可能有多条),不用鼠标,只用键盘的上下键选取你所要的记录,按回车后将该记录的各个字段值赋于另外几个TXTBOX上。
我想了、试了、查了、问了整一周,没有一个实现的办法,网上的办法全部行不通!后来我想在GRIDVIEW显示对应的多条记录后改用鼠标双击选中所要的记录(不是点击GRIDVIEW的选择字段),再将各字段值赋于各TXTBOX,也没人能给我实现的方法!现在我放弃了,只能让软件操作麻烦些!所以不给分了,把问题贴上来是想看看还有高手能完成吗?
实践是检验真理的唯一标准!有答案请将所有代码写上来,没有经过实践者,好多问题会考虑不到,请免伸贵手!

解决方案 »

  1.   

      private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
            {
                int i = e.RowIndex;
                if (i != this.dataGridView1.RowCount - 1 && e.RowIndex >= 0)
                {                tb19.Text = sc.getData(Convert.ToInt32(this.dataGridView1[0, i].Value)).Rows[0].ItemArray[0].ToString();
                    tb16.Text = sc.getData(Convert.ToInt32(this.dataGridView1[0, i].Value)).Rows[0].ItemArray[1].ToString();
                    tb17.Text = sc.getData(Convert.ToInt32(this.dataGridView1[0, i].Value)).Rows[0].ItemArray[2].ToString();
                }
            }
      

  2.   

    你手动选中行   会选择你选中行号  估计下面的也可以  你试试 private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
      {
      int i = e.RowIndex;
      if (i != this.dataGridView1.RowCount - 1 && e.RowIndex >= 0)
      {   tb1.Text = this.dataGridView1[0, i].Value.ToString();
       tb2.Text = this.dataGridView1[1, i].Value.ToString();
       tb3.Text = this.dataGridView1[2, i].Value.ToString();    }
      }
      

  3.   

    来这里咨询问题一点也不谦虚,竟然还那么嚣张自大,你以为你是super man,必须要告诉你?就你这样的态度谁都不会告诉你答案!!!
      

  4.   

    有捕获按键的事件
    gridview有获取所选中的gridview行,
    找出你要赋值的textbox的规律,然后找出对应的textbox,有什么问题吗?
      

  5.   

    额,不能算问题实际上只需要把所有的东西都绑定在一个Bindingsource就ok了,微软做的已经足够傻瓜了在winform里只要所有东西绑在一个源上,他们都是“智能”联动滴,根本不必再多写啥代码
      

  6.   

    不绑定GRIDVIEW,自己写JAVASCRIPT实现效果
      

  7.   

    这个问题确实太困难了~~~~~~~~~~ 
    LZ随便出去买一本关于C#案例的书都有这方面知识