我陷入了这个烦人的问题,我很乐意为你提供帮助。
我有一个包含六列的DataGridView(一个是组合框,其他是文本框)。 我想处理textChange(文本框)事件和SelectedIndexChange事件(组合框), 但我一直得到这个错误,我不知道为什么。 这是错误: mscorlib.dll中出现“System.FormatException”类型的异常,但未在用户代码中处理 附加信息:输入字符串的格式不正确。
这是代码
dataGridView1.EditingControlShowing += (sender, e) =>
{
if (dataGridView1.CurrentCell.ColumnIndex == 0)
{
ComboBox cb = (ComboBox)e.Control;
cb.SelectedIndexChanged += (sender2, e2) =>
{
this.client.roaming[dataGridView1.CurrentCell.RowIndex].country = cb.Text;
//dictionaries.getTypeDict()[country.Name + dataGridView1.CurrentCell.RowIndex.ToString()].Invoke(Convert.ToString(cb.Text));
};
}
else
{
TextBox tb = (TextBox)e.Control;
tb.TextChanged += (sender1, e1) =>
{
if (dataGridView1.CurrentCell.ColumnIndex == 1)
{
this.client.roaming[dataGridView1.CurrentCell.RowIndex].minutesIncomingAndOutcomingFromAbroadToIsrael = Convert.ToDouble(tb.Text);
//dictionaries.getTypeDict()[minutesIncomingAndOutcomingFromAbroadToIsrael.Name + dataGridView1.CurrentCell.RowIndex.ToString()].Invoke(Convert.ToDouble(tb.Text));
}
if (dataGridView1.CurrentCell.ColumnIndex == 2)
{
this.client.roaming[dataGridView1.CurrentCell.RowIndex].minutesLocalAbroad = Convert.ToDouble(tb.Text);
//dictionaries.getTypeDict()[minutesLocalAbroad.Name + dataGridView1.CurrentCell.RowIndex.ToString()].Invoke(Convert.ToDouble(tb.Text));
}
if (dataGridView1.CurrentCell.ColumnIndex == 3)
{
this.client.roaming[dataGridView1.CurrentCell.RowIndex].minutesAbroadToAbroad = Convert.ToDouble(tb.Text);
//dictionaries.getTypeDict()[minutesAbroadToAbroad.Name + dataGridView1.CurrentCell.RowIndex.ToString()].Invoke(Convert.ToDouble(tb.Text));
}
if (dataGridView1.CurrentCell.ColumnIndex == 4)
{
this.client.roaming[dataGridView1.CurrentCell.RowIndex].smsFee = Convert.ToDouble(tb.Text);
//dictionaries.getTypeDict()[smsFee.Name + dataGridView1.CurrentCell.RowIndex.ToString()].Invoke(Convert.ToDouble(tb.Text));
}
if (dataGridView1.CurrentCell.ColumnIndex == 5)
{
this.client.roaming[dataGridView1.CurrentCell.RowIndex].internetFee = Convert.ToDouble(tb.Text);
//dictionaries.getTypeDict()[internetFee.Name + dataGridView1.CurrentCell.RowIndex.ToString()].Invoke(Convert.ToDouble(tb.Text));
}
};
}
};