hamidsina
سه شنبه 14 خرداد 1392, 19:37 عصر
سلام من با کد زیر یه رویداد برای دیتا گرید ویو تعریف کردم ولی این رویداد به تعداد ردیفهای جدول اجرا میشه
اگه لطف کنید بگید چیکار کنم که این رویداد فقط یکبار اجرا بشه ممنون میشم
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (dataGridView1.CurrentCell.ColumnIndex == 3)
{
Cbox = e.Control
as ComboBox;
if (Cbox != null)
{
Cbox.TextChanged+=
new EventHandler(Cbox_TextChanged);
}
}
else
{
if (Cbox != null)
{
}
}
}
private void Cbox_TextChanged(object sender, EventArgs e)
{
if (dataGridView1.CurrentCell.ColumnIndex == 3 && Cbox.Text.Trim() == "")
{
Form_Data Fdata = new Form_Data();
Fdata.ShowDialog();
dataGridView1[4, dataGridView1.CurrentCell.RowIndex].Value =
ClassVar.DataSend;
ClassVar.DataSend = "";
}
if (dataGridView1.CurrentCell.ColumnIndex == 3 && Cbox.Text.Trim() == "")
{
dataGridView1[4, dataGridView1.CurrentCell.RowIndex].Value = "";
}
}
اگه لطف کنید بگید چیکار کنم که این رویداد فقط یکبار اجرا بشه ممنون میشم
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (dataGridView1.CurrentCell.ColumnIndex == 3)
{
Cbox = e.Control
as ComboBox;
if (Cbox != null)
{
Cbox.TextChanged+=
new EventHandler(Cbox_TextChanged);
}
}
else
{
if (Cbox != null)
{
}
}
}
private void Cbox_TextChanged(object sender, EventArgs e)
{
if (dataGridView1.CurrentCell.ColumnIndex == 3 && Cbox.Text.Trim() == "")
{
Form_Data Fdata = new Form_Data();
Fdata.ShowDialog();
dataGridView1[4, dataGridView1.CurrentCell.RowIndex].Value =
ClassVar.DataSend;
ClassVar.DataSend = "";
}
if (dataGridView1.CurrentCell.ColumnIndex == 3 && Cbox.Text.Trim() == "")
{
dataGridView1[4, dataGridView1.CurrentCell.RowIndex].Value = "";
}
}