我要檢查的DataGridView行選擇或沒有時,窗體加載做一些東西,但使用此代碼時,它並沒有爲我工作:無法檢查的DataGridView行選擇或沒有時,窗體加載C#
private void btnEdit_Click(object sender, EventArgs e)
{
if (grdInvoiceDetails2.Rows.Count > 0 && grdInvoiceDetails2.SelectedRows.Count > 0)
{
try
{
Them = false;
var r = grdInvoiceDetails2.CurrentCell.RowIndex;
txtQty.Text = grdInvoiceDetails2.Rows[r].Cells[3].Value.ToString();
cboInvNo.SelectedValue = grdInvoiceDetails2.Rows[r].Cells[1].Value.ToString();
cboItemName.SelectedValue = grdInvoiceDetails2.Rows[r].Cells[2].Value.ToString();
cboItemName.Enabled = true;
cboInvNo.Enabled = false;
txtQty.Enabled = true;
btnSave.Enabled = true;
btnCancel.Enabled = true;
btnAdd.Enabled = false;
btnEdit.Enabled = false;
btnDelete.Enabled = false;
btnBack.Enabled = false;
LoadDataToCollection();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
}
當調試,grdInvoiceDetails2.Rows.Count = 6,grdInvoiceDetails2.SelectedRows.Count = 1 但如果我沒有點擊任何行,它會拋出一個異常。因爲grdInvoiceDetails2.CurrentCell = null。
您必須檢查(grdInvoiceDetails2.SelectedRows.Count> 0),那麼你可以調用grdInvoiceDetails2.CurrentCell,否則,你看空,結果是例外。在Form_Load期間,沒有SelectedRows。只有當您點擊該行或設置SelectedRow時纔會發生這種情況。但是,在Form_Load – 2016-07-05 03:51:39