当我要替换的值只是一个数字(例如40
)并且被字符串(例如AB123
)替换时,在我的按钮上单击会出现以下错误。
System.Exception:AB123不是Double的有效值。--->
System.FormatException:输入字符串的格式不正确。
在System.Number.ParseDouble(字符串值,NumberStyles选项,NumberFormatInfo numfmt)
点击按钮:
private void button2_Click(object sender, EventArgs e)
{
for (int i = 0; i < dataGridView1.RowCount; i++)
{
if (!RowIsEmpty(i))
{
dataGridView1[3, i].Value = Combo.Text;
}
}
}
我试过像这样隐式转换:
dataGridView1[3, i].Value.ToString() = Combo.Text;
但这是行不通的,我也尝试过像这样的字符串来调用它:
private void button2_Click(object sender, EventArgs e)
{
for (int i = 0; i < dataGridView1.RowCount; i++)
{
if (!RowIsEmpty(i))
{
string DGVS = dataGridView1[3, i].Value.ToString();
DGVS = Combo.Text;
}
}
}
但这并没有给出错误,但实际上没有任何作用。
数据是从excel文件中加载的。
例
Col1 Col2 Col3
AAA BBB 40
组合框:
ABC123
我通过在加载到datagridview之后但在将组合框值更新为行之前删除并重新添加列来解决了此问题(可能不是最好的方法,但它可行)。
private void button2_Click(object sender, EventArgs e)
{
DataGridViewTextBoxColumn Column3New = new DataGridViewTextBoxColumn();
Column3New.Name = "Column3";
Column3New.HeaderText = "Column3";
dataGridView1.Columns.RemoveAt(3);
dataGridView1.Columns.Insert(3, Column3New);
for (int i = 0; i < dataGridView1.RowCount; i++)
{
if (!RowIsEmpty(i))
{
dataGridView1[3, i].Value = Combo.Text;
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句