0

if条件で列の値["CellNumber"]が空かどうかを確認しようとしています。列のセルの値が空でない場合でも、終了しforeach loopてデータを更新するのではなく、メッセージ ボックスでプロンプトが表示されます。

    private void btnUpdate_Click(object sender, EventArgs e)
    {
        da = new SqlDataAdapter("select * from Measurement", con);
        SqlCommandBuilder cb = new SqlCommandBuilder(da);
        foreach (DataGridViewRow row in dgv.Rows)
        {
            if (Convert.ToString(row.Cells["CellNumber"].Value) == "")
            {
                MessageBox.Show("Please enter cellnumber", "Missing Information");
                return;
            }
        }
        try
        {
            da.Update(ds, "Measurement");
        }
        catch (DBConcurrencyException ex)
        {
            MessageBox.Show(ex.Message);
        }
4

5 に答える 5

1

次のようにして、datagridview の行数を確認してください。

 DataGridView. If myDataGridView.Rows.Count == 0

0 の場合は空です

于 2013-02-08T14:05:38.087 に答える
0

を使用してみてください.EditedFormattedValue

        if (string.IsNullOrWhiteSpace(row.Cells["CellNumber"].EditedFormattedValue.ToString()))
        {
            MessageBox.Show("Please enter cellnumber", "Missing Information");
            return;
        }
于 2013-02-08T14:18:21.353 に答える
0
if (string.IsNullOrEmpty(row.Cells["CellNumber"].Value))
{ Your Code  }
于 2013-02-08T14:09:28.080 に答える
0

この方法を試してください

if (row.Cells["CellNumber"].Value == null || string.IsNullOrEmpty(row.Cells["CellNumber"].Value.ToString()))
{
   //rest
}

検証する前にすべてのセルの変更を保存するために呼び出しますdgv.CurrentRow.DataGridView.EndEdit();:)

private void btnUpdate_Click(object sender, EventArgs e)
{
    dgv.CurrentRow.DataGridView.EndEdit();
    dgv.EndEdit();
    ....
于 2013-02-08T14:12:42.707 に答える
0

文字列「CellNumber」を使用しますが、それはint?

if (Convert.ToString(row.Cells["CellNumber"].Value) == "")

于 2013-02-08T14:07:01.440 に答える