سلام
معادل ایونت TextChanged تکست باکس برای سلولهای گرید چیست ؟
مرسی
سلام
معادل ایونت TextChanged تکست باکس برای سلولهای گرید چیست ؟
مرسی
آخرین ویرایش به وسیله bita_naz : شنبه 29 فروردین 1388 در 20:48 عصر
از ایونت CellBeginEdit دیتاگرید استفاده کن
و از طریق کد زیر به سلول تغییر یافته برس
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex]
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
تو beginedit هی endedit کن.
خوب چون datagrid شما bind شده به ی جدول درسته؟
و چون اون cell هم به همون cell در جدول اصلی bind شده مقداری رو بر میگردونه که در جدول ذخیره شده.
حالا واسه چی می خوای اون رو؟
از ایونت CellValueChanged استفاده کن
private void dataGridView1_CellValueChanged_1(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex >= 0)
{
textBox1.Text = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
}
}
سلام دوست من
اگه دقیقا میخوای ایونت TextChanged رو داشته باشی، در واقع باید به کنترلی که وظیفه ادیت کردن سلول ها رو داره دسترسی پیدا کنی و کدهات رو در ایونت TextChanged اون بنویسی !!
کدت میتونه یه چیزی شبیه به این باشه :
private bool HandlerAdded = false;
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (HandlerAdded == false)
{
e.Control.TextChanged += ECTextChanged;
HandlerAdded = true;
}
}
private void ECTextChanged(object sender, EventArgs e)
{
MessageBox.Show(((Control )sender ).Text );
}
یا علی