PDA

View Full Version : خطای Operation cannot be performed in this event handler. در اضاف کردن ردیف جدید در datagridview



niloo17
پنج شنبه 11 آذر 1389, 10:59 صبح
سلام دوستان
چه جوری می تونم پس از چک کردن مقدار سلول های datagridview یک ردیف جدید اضافه کنم .
من از کد زیر استفاده کردم ولی خطا می ده


private void dataGridView_RowValidating(object sender, DataGridViewCellCancelEventArgs e)
{
if (dataGridView.CurrentRow.Cells[0].Value == null)
{
dataGridView.CurrentRow.Cells[0].ErrorText = " ";
e.Cancel = true;
}
else
{
dataGridView.Rows.Add();
}
}

niloo17
شنبه 13 آذر 1389, 09:20 صبح
سلام دوستان
من این خطا را با کد زیر حل کردم


delegatevoidaddRow();
publicvoid addRows()
{
daryaftdataGridView.Rows.Add();
}




privatevoid dataGridView_RowValidating(object sender, DataGridViewCellCancelEventArgs e)
{
if (dataGridView.CurrentRow.Cells[0].Value == null)
{
dataGridView.CurrentRow.Cells[0].ErrorText = " ";
e.Cancel = true;
}
else
{
daryaftdataGridView.BeginInvoke(new addRow(addRows));
}
}

FastCode
شنبه 13 آذر 1389, 17:57 عصر
سلام دوستان
من این خطا را با کد زیر حل کردم


delegatevoidaddRow();
publicvoid addRows()
{
daryaftdataGridView.Rows.Add();
}




privatevoid dataGridView_RowValidating(object sender, DataGridViewCellCancelEventArgs e)
{
if (dataGridView.CurrentRow.Cells[0].Value == null)
{
dataGridView.CurrentRow.Cells[0].ErrorText = " ";
e.Cancel = true;
}
else
{
daryaftdataGridView.BeginInvoke(new addRow(addRows));
}
}



سلام.
ببخشید که یه جوری حرف میزنم ولی کدتون یه جوریه.
ممکنه بگید چه انتظاری از کدی که گزاشتید دارید؟
دقیقاً این کد قراره چه عملی انجام بده؟
تا حالا کدتون رو با جدول خالی تست کردید؟
delegate رو در ۲ کلمه تعریف کنید.