دوستان من کدی به این صورت برای حذف نوشتم مشکلی هم نداره ولی برای درج و ویرایش نتونستم کار خاصی بکنم:
private void dataGridViewBankAccount_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.Delete)
{
BtnDel_Click(sender, e);
}
else if (e.KeyData == Keys.Up || e.KeyData == Keys.Down)
{
DataGridViewSelectedRowCollection RC = dataGridViewBankAccount.SelectedRows;
txtAccountID.Text = RC[0].Cells["AccountID"].Value.ToString();
txtBankName.Text = RC[0].Cells["BankName"].Value.ToString();
txtAccountNumber.Text = RC[0].Cells["AccountNumber"].Value.ToString();
txtCash.Text = RC[0].Cells["Cash"].Value.ToString();
txtCashAll.Text = RC[0].Cells["CashAll"].Value.ToString();
txtDescription.Text = RC[0].Cells["Description"].Value.ToString();
}
}
و برای قسمت درج از این چند تا رخداد به صورت زیر استفاده کردم:
private void dataGridViewBankAccount_RowEnter(object sender, DataGridViewCellEventArgs e)
{
try
{
if (NewRowNeeded)
{
DataGridViewRow RC = dataGridViewBankAccount.Rows[e.RowIndex];
if (RC.IsNewRow)
{
string Value = dataGridViewBankAccount.Rows[e.RowIndex - 1].Cells["BankName"].Value.ToString();
//Value = RC[0].Cells["BankName"].Value.ToString();
}
}
}
catch (NullReferenceException)
{
}
}
private bool _NewRowNeeded;
public bool NewRowNeeded
{
get { return _NewRowNeeded; }
set { _NewRowNeeded = value; }
}
private void dataGridViewBankAccount_NewRowNeeded(object sender, DataGridViewRowEventArgs e)
{
NewRowNeeded = true;
}
private void dataGridViewBankAccount_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
{
if (NewRowNeeded)
{
NewRowNeeded = false;
}
}
private void dataGridViewBankAccount_CellValuePushed(object sender, DataGridViewCellValueEventArgs e)
{
}
ولی به نتیجه نرسیدم لطفا راهنمایی کنین خیلی جستجو کردم ولی به نتیجه نرسیدم.