书上一段实现编辑的代码:
thisDataSet.Tables["Customers"].Rows[9]["CompayName"]="Acme,Inc.";
thisAdapter.Update(thisDataSet, "Customers");不用绑定。比如现在有一个dataGridView,点击其中一行,这行数据显示在一组textBox中。如何实现?然后修改textBox中的数据,保存如何实现?即书上代码中直接给出的Rows[9],如何变成从dataGridView的点击中获得?即:
textBox.Text = "Acme,Inc.";
thisDataSet.Tables["Customers"].dataGridView鼠标点击的那行["CompayName"]=textBox.Text;
thisAdapter.Update(thisDataSet, "Customers");

解决方案 »

  1.   

    设置dataGridView的DataKeyNames属性为ID字段,点击行的时候获取此行ID的值,不就可以获得数据了?那时候你想怎样不都可以了?
      

  2.   

    我这里没有DataKeyNames。我希望能够像VB6.0下的MSFlexGrid,可以获取鼠标点击的值。另外LS说的方法如何建立与Rows[9]的关系?
      

  3.   

    this.dataGridView1.CurrentRow.Cells[索引列].Value.ToString ()
      

  4.   

    dataGridView鼠标点击的那行 用js脚本取得,同时可获得这行所有数据
     <asp:GridView ID="GridView1" runat="server" onclick="javascript:showText()">
     </asp:GridView>
    又有一组textbox 用于修改数据
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    一个隐藏控件记录鼠标点击的那行
    <input type="hidden" runat="server" id="rowIndex" />    <script type="text/javascript">
        function showText()
        {
            var obj = event.srcElement;
            //将点击行的第一列数据赋值给TextBox1
            document.getElementById("TextBox1").value = obj.parentElement.cells[0].innerText;
            //将点击行的行数赋值给hidden
            document.getElementById("rowIndex").value = obj.parentElement.rowIndex;
            
            //修改TextBox1的值 到后台读取rowIndex的值便可更新数据
        }
        </script>