我已经将数据填充到了datagrid1里用
this.dataGrid1.Select(this.dataGrid1.CurrentCell.RowNumber); //选择datagrid整行
this.textBox1 .Text =ds.Tables [0].Rows[this.dataGrid1.  CurrentRowIndex][1].ToString();   this.textBox2 .Text =ds.Tables [0].Rows[this.dataGrid1.  CurrentRowIndex][2].ToStrin(); 
可以将选定的行 添加到textbox1和textbox2中但是vs2003里面的datagrid里提供了一个自动排序的功能 每当我点击排序的时候就选择不了指定的行了请问这个问题如何解决?              

解决方案 »

  1.   

    比如datagrid1里面显示的内容为  姓名  学号 
     张三  001 
     李四  002 
     王五  003 我选择第一行的时候显示的是 textbox1:张三  textbox2:001当我点击了datagrid1的学号降序排列按钮的时候 选择第一行应该显示的是textbox1:王五  textbox2:003
                              可是显示的还是 textbox1:张三  textbox2:001
    可能是datagrid1没有把选定行的索引更新过来
    (解决不了我就打算关掉datagrid的自动排序功能,但我不想把这个功能屏蔽掉)请教如何解决 谢谢
      

  2.   

    我也遇到过同样的问题,如果你仅仅是为了点击某行后将改行的数据提取出来显示在文本框里的话
    可以不从datatable里读取,直接从datagrid里读取就可以了,textbox1.text=datagrid1[行,列]
    如果你还想通过修改textbox里的数据来对datagrid和数据库里的表进行更新操作,那就稍微烦一些
    要先获取选中行的ID,在去数据库中查找这到底是哪一行,在根据数据库中这行的ID来更新。
      

  3.   

    还有别的方法吗 排完序就找不到索要的焦点了 而且datagrid是动态的 无法制定列的某一行啊
      

  4.   

    如果点击了排序按钮 那如何让datagrid的index值按重新排序过的顺序刷新呢 
      

  5.   

    如果点击了排序 那如何让datagrid的index值按重新刷新过的顺序排列一下呢  求救高人!!!