绑定数据
private void FrmKhg_Load(object sender, EventArgs e)
        {
            TxtName.Text = lvkh.SelectedItems[0].SubItems[0].Text;
            TxtLianxiren.Text = lvkh.SelectedItems[0].SubItems[1].Text;
            TxtDianHua.Text = lvkh.SelectedItems[0].SubItems[2].Text;
            TxtDiZhi.Text = lvkh.SelectedItems[0].SubItems[3].Text;
            TxtBeiZhu.Text = lvkh.SelectedItems[0].SubItems[4].Text;
            TxtNum.Text = lvkh.SelectedItems[0].SubItems[5].Text.Substring(5,lvkh.SelectedItems[0].SubItems[5].Text.Length - 2);
            
        }
修改绑定数据
private void btnEditKh_Click(object sender, EventArgs e)
        {
            TxtMohu.Text = "";
            if (listView1.SelectedItems.Count == 0)
            {
                MessageBox.Show("注意,请选择您要修改的客户名称!","温馨提示");
            }
            else
            {
                FrmKhg MyDlg = new FrmKhg(listView1);
                MyDlg.ShowDialog();
                dtkhxx = fk.SelectKhxx();
                DisplayInfo();
            }
        }
在点击修改数据时,提示InvalidArgument = "4" 的值对于"index"无效

解决方案 »

  1.   

    单步执行一下,在哪句报的错? FrmKhg 的类怎么写的?
      

  2.   

    可能是因为你的ListView没有足够的SubItem
      

  3.   

    也有可能是如下这句出的错:TxtNum.Text = lvkh.SelectedItems[0].SubItems[5].Text.Substring(5,lvkh.SelectedItems[0].SubItems[5].Text.Length - 2); 可能是字符串的长度不够而使用subString的时候出错了。你可以改成如下的方法来更清楚的表达算法:
    string text = lvkh.SelectedItems[0].SubItems[5].Text;
    TxtNum.Text = text.Substring(5, text.Length - 2);
    string 
      

  4.   

    在点击的时候才出的错.应该是item索引的问题.不过代码没给全,下面这里都不知道做了什么事情.楼主在这些函数里检查一下有没有索引越界的情况吧
    dtkhxx = fk.SelectKhxx(); 
    DisplayInfo(); 
      

  5.   

    提示哪句话出错?
    DisplayInfo(); 这个是你写的方法吧.
      

  6.   

    谢谢各位,
    具体是哪错了,其实现在我也没有搞清楚,只是我把代码:
    TxtBeiZhu.Text = lvkh.SelectedItems[0].SubItems[4].Text; 
    TxtNum.Text = lvkh.SelectedItems[0].SubItems[5].Text.Substring(5,lvkh.SelectedItems[0].SubItems[5].Text.Length - 2); 
    这两句暂时注释调了,然后就不报错了,
      

  7.   


    那可能就是8楼说得Substring的index值的问题.其实你单步执行到这句话,看看各变量的值.