1

你能帮我解决这个..

   For Each r As DataGridViewRow In dglist.Rows
        For Each c As DataGridViewCell In r.Cells
            If c.Value IsNot Nothing Then
                **If c.Value.ToString = Label2.Text.ToString Then
                    c.Value.ToString.Trim.Replace(c.Value.ToString.Trim, TextBox1.Text)
                End If**

                'MessageBox.Show(c.Value.ToString)
            End If
        Next
    Next

我需要用标签的值替换单元格的值。但是我的代码仍然不起作用。

4

1 回答 1

2

您需要分配值(给单元格值属性),而不是对您拥有的字符串值进行操作。当您执行诸如此类的操作时,会ToString在内存中创建一个额外的实例,如果您没有分配它,这就是全部。改为这样做:

 For Each r As DataGridViewRow In dglist.Rows
        For Each c As DataGridViewCell In r.Cells
            If c.Value IsNot Nothing Then
                **If c.Value.ToString = Label2.Text Then
                    c.Value = TextBox1.Text
                End If**

                'MessageBox.Show(c.Value.ToString)
            End If
        Next
    Next

重新考虑您的 if 子句,因为我不太确定您正在寻找什么。在您的问题中,您说要分配标签的值,但是在您粘贴的代码中,在我看来,您是在寻找文本框的文本值。

于 2012-10-30T05:40:00.950 回答