如何在鼠标双击Listbox中的某行数据后,将该数据更新datagrid中一个单元格的内容?来点代码好吗?思路我也有但是代码写了就是不对啊,谢谢了!

解决方案 »

  1.   

    楼主莫非要做QQ类似的东西?
    强烈建议用listview 而且还可以带图表 也有大头像小头像  嘿嘿 我已经把CLIENT做完了 下一步是SERVER
      

  2.   

    to 如何在鼠标双击Listbox中的某行数据后,将该数据更新datagrid中一个单元格的内容?来点代码好吗?思路我也有但是代码写了就是不对啊,谢谢了!不要直接修改DataGrid,去修改DataGrid所绑定的数据源,这样会反显在DataGrid。
      

  3.   

    private void listBox1_DoubleClick(object sender, System.EventArgs e)
    {
    object o = this.listBox1.Items[this.listBox1.SelectedIndex];//取listbox的被选中行的值DataRowView drv = (DataRowView)this.dataGrid.BindingContext[this.dataGrid.DataSource].Current;//取dataGrid的被选中行
    if(drv["状态"].ToString() == "0")//如果该行的"状态"列的值为0
    {
    drv.BeginEdit();
    drv["设备名称"] = o;//那么更新该行的"设备名称"列的值,用上面取得的LISTBOX当前行的值来更新
    drv.EndEdit();
    }
    }这是小弟写的代码,但是运行后,双击LISTBOX中的某一行,未见任何反映,请教是哪里出了错?各位高手请指点一下
      

  4.   

    Have a try!DataView dv = (DataView)this.dataGrid.DataSource;
    DataRow dr = dv.Table.Rows[this.dataGrid1.CurrentRowIndex];
    if(dr["状态"].ToString() == "0")//如果该行的"状态"列的值为0
    {
    dr.BeginEdit();
    dr["设备名称"] = o;//那么更新该行的"设备名称"列的值,用上面取得的LISTBOX当前行的值来更新
    dr.EndEdit();
    }