PDA

View Full Version : سوال: انتخاب یک سطر گرید و نمایش در فرم جدید



fereshteh_m
چهارشنبه 21 مرداد 1388, 16:30 عصر
من کد برنامه ای رو می خوام که وقتی رو یه سطر گریدویو کلیک کردم یه فرم دیگه باز شه و اطلاعات چندتا از ستون های گریدو تو فرم جدید تو textbox نشون بده.دو تا از فیلدام از نوع عددیه و یک تاریخ. لطفا یه جور جواب بدید که من مبتدی بفهمم.مرسی.
من این کد و می نویسم ولی همش ایراد می گیره که txtFactorId رو نمی شناسه یا اینکه FactorId تعریف نشده .من تو رویداد mouseclick می نویسم.چرا ؟

backspace
چهارشنبه 21 مرداد 1388, 16:49 عصر
سلام
در متد RowEnter از گريد فرم دوم رو باز كن. قبلش او TextBox ها رو public كن. براي خواندن مقادير هم از خطوط كد زير استفاده كن.
فرض كرده ام كه نام ديتاگريد شما (MyDataGridView) است.
MyDataGridView.Rows[e.RowIndex].Cells[0].Value.ToString

hozouri
چهارشنبه 21 مرداد 1388, 16:57 عصر
سلام
در متد RowEnter از گريد فرم دوم رو باز كن. قبلش او TextBox ها رو public كن. براي خواندن مقادير هم از خطوط كد زير استفاده كن.
فرض كرده ام كه نام ديتاگريد شما (MyDataGridView) است.
MyDataGridView.Rows[e.RowIndex].Cells[0].Value.ToString

البته درستش اینکه توی رویداد mouseClick این دستورات نوشته شوند یا keypress چون وقتی در بین سطر ها با arrow key ها حرکت می کنیم رویداد rowEnter فراخوانی می شود.

از قطعه کد زیر می تونی بهره ببری ...


textBox1.text=grid.Rows[grid].Cells["nameColumn"].Value.ToString();

backspace
چهارشنبه 21 مرداد 1388, 18:04 عصر
البته درستش اینکه توی رویداد mouseClick این دستورات نوشته شوند یا keypress چون وقتی در بین سطر ها با arrow key ها حرکت می کنیم رویداد rowEnter فراخوانی می شود.

از قطعه کد زیر می تونی بهره ببری ...


textBox1.text=grid.Rows[grid].Cells["nameColumn"].Value.ToString();


سلام، نه اينطور نيست كه با حركت ماوس رويداد RowEnter فراخواني بشه . من شك كردم و خودم تست كردم. تا زماني كه كليك نشه اين رويداد فراخواني نميشه. ضمنا در كنترل ِDataGridView كار با KeyPress بسيار مشكل است.

Mohsen229266
چهارشنبه 21 مرداد 1388, 18:40 عصر
سلام، نه اينطور نيست كه با حركت ماوس رويداد RowEnter فراخواني بشه . من شك كردم و خودم تست كردم. تا زماني كه كليك نشه اين رويداد فراخواني نميشه. ضمنا در كنترل ِDataGridView كار با KeyPress بسيار مشكل است.

با سلام اتفاقا برعکس KeyPress در دیتاگرید خیلی هم راحته


private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
e.Control.KeyPress += DataGridKeyPress;
}
private void DataGridKeyPress(object sender, KeyPressEventArgs e)
{

// دیتاگرید KeyPress کد در ایونت
}