PDA

View Full Version : گرفتن یک فیلد از دیتا گرید ویو



ahmad000012
یک شنبه 04 دی 1390, 16:39 عصر
سلام من یک دیتا گرید ویو تو صفحه دارم که به پایگاه داده متصله
می خوام وقتی یکی از رکورد ها را انتخاب کردم با زدن یک کلید یک فیلد از اون رکورد در یک تکست باکس وارد بشه یا با دابل کلیک کردن روی رکورد فیدی از اون در تکست باکس کپی بشه
====
با تشکر از دوستان

xcomlock
یک شنبه 04 دی 1390, 16:55 عصر
توی رویداد CellDoubleClick این کد رو وارد کن:

if (dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value != DBNull.Value)
{
textBox1.Text = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
}

ahmad000012
یک شنبه 04 دی 1390, 17:34 عصر
ممنون دست شما درد نکنه اما با این کد شما روی هر فیلدی که دابل کلیک کنیم همان فیلد به تکست باکس می رود
من می خوام روی هر فیلد از یک رکورد کلیک شد یک فیلد خاص از اون رکورد به تکست باکس بره
در ضمن هنگامی که روی فلش اول رکورد دابل کلیک می کنم خطا میده
====
اگر بخواهم رکورد را انتخاب و با یک کلید دیگه فیلد را به تکست باکس انتقال بدم چکار کنم

sayvan
یک شنبه 04 دی 1390, 17:41 عصر
تو همون رویداد کلیک چرا نمینویسیش
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
textBox1.Text = dataGridView1.Rows[e.RowIndex].Cells["نام فیلد خاص"].Value.ToString();
}

اگر میخوای کل ردیف رو برگردونی باید برای تک تک فیلدات کدش رو بنویسی بعدش تو متغییر یا هر چیزی ذخیره کنی
با استفاده از همین کدا میتونی اون کار رو انجام بدی

ahmad000012
یک شنبه 04 دی 1390, 17:50 عصر
نه همون تک فیلد خوبه تنها مشکل اینه که وقتی روی فلش اول هر رکورد کلیک می کنم خطا میده(روی فیلده کلیک میکنم درسته)

xcomlock
یک شنبه 04 دی 1390, 17:58 عصر
این کد رو بزار




if (dataGridView1.Rows[e.RowIndex].Cells["نام فیلد مورد نظر"].Value != DBNull.Value)

{
textBox1.Text = dataGridView1.Rows[e.RowIndex].Cells["نام فیلد مورد نظر"].Value.ToString();
}



این شرط بررسی میکنه روی فیلدی کلیک شده که خالی نباشه(مثل همون فلش شما!)

sayvan
یک شنبه 04 دی 1390, 17:59 عصر
اون کدی رو که خطا میده

Try
{
//خطی که خطا میده
}
Catch{}

اینم جواب میده هیچ فرقی نمیکنه

ahmad000012
یک شنبه 04 دی 1390, 18:06 عصر
ممنون کد جناب xcomlock جواب داد