C# C3中的Datagridview
我正在做销售发票,我希望系统检查输入的数量是否为双倍值或否,如果为双倍值,则输入的数量必须小于数据库中的数量。C# C3中的Datagridview,c#,datagridview,C#,Datagridview,我正在做销售发票,我希望系统检查输入的数量是否为双倍值或否,如果为双倍值,则输入的数量必须小于数据库中的数量。检查用户输入双倍值或否是否正常,但代码的其他部分不正常。代码正常用户离开单元格并再次输入后,如果他编辑了单元格,系统将继续保存旧值(错误值)但对于第一部分,如果他输入字母,系统会给他一个错误,当他纠正错误时,系统会接受新值并让他正常离开销售。问题在第二部分,这是我的代码: private void dataGridView1_CellValidating(object sender, D
检查用户输入双倍值或否是否正常,但代码的其他部分不正常。代码正常用户离开单元格并再次输入后,如果他编辑了单元格,系统将继续保存旧值(错误值)但对于第一部分,如果他输入字母,系统会给他一个错误,当他纠正错误时,系统会接受新值并让他正常离开销售。问题在第二部分,这是我的代码:
private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
if (e.ColumnIndex == 3 || e.ColumnIndex == 4 || e.ColumnIndex == 5 || e.ColumnIndex == 6 || e.ColumnIndex == 7) // 1 should be your column index
{
if (Convert.ToString(e.FormattedValue) != "")
{
double i;
if (!double.TryParse(Convert.ToString(e.FormattedValue), out i))
{
e.Cancel = true;
MessageBox.Show("Insert correct numbers");
}
else
{
if (e.ColumnIndex == 5)
{
qty3 = Convert.ToDouble(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[5].Value);
string code = dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[0].Value.ToString();
sqlClass c = new sqlClass();
con = c.getcon();
con.Open();
c.command("select quantity from items where code='" + code + "'");
cmd = c.getcmd();
double qty2 = Convert.ToDouble(cmd.ExecuteScalar().ToString());
if (qty3 > qty2)
{
e.Cancel = true;
MessageBox.Show("You don't have enough quantity \n Quantity available is:" + qty2);
}
else
{
dataGridView1[e.ColumnIndex, e.RowIndex].ErrorText = null;
}
con.Close();
}
}
}
}
}
请添加一些换行符!那么也许你能找到真正的问题。C3?C3我是说C#抱歉弄错了