PDA

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



aliramazani
سه شنبه 06 اردیبهشت 1390, 17:18 عصر
من یه فرم دارم که شامل :
دیتا گرید ویو با یک ستون به نام username

تکست باکس

فرض کنید من کلی ردیف توی دیتاگرید ویو دارم می خوام وقتی کاربر روی هر ردیف کلیک کرد که تنها ستونمم همون یوزرنیم هستش با کلیک بر روی هر ردیف نام موجود در دیتا در تکس باکس نشون داده بشه

از linq استفاده کردم

aliramazani
سه شنبه 06 اردیبهشت 1390, 17:30 عصر
از کد زیر استفاده کردم ولی توی یه فرم دیگه باز می کنه. من می خوام توی تکس باکس همین فرم نشون بده

if (gvTable1.RowCount > 0)
{
var f = new users();
f.usernameTextBox.Text = gvTable1.CurrentRow.Cells["username"].Value.ToString();

f.ShowDialog();

var db = new LINQDataContext();
gvTable1.DataSource = db.users; //Refresh Grid After Edit
}

Babak-Magic
سه شنبه 06 اردیبهشت 1390, 17:43 عصر
خوب مقدار تکست باکستو برابر با gvTable1.CurrentRow.Cells["username"].Value.ToString(); کن دیگه

aliramazani
سه شنبه 06 اردیبهشت 1390, 17:50 عصر
خوب مقدار تکست باکستو برابر با gvTable1.CurrentRow.Cells["username"].Value.ToString(); کن دیگه

جواب نداد!

private void usernameTextBox_TextChanged(object sender, EventArgs e)
{
gvTable1.CurrentRow.Cells["username"].Value.ToString();
}

Babak-Magic
سه شنبه 06 اردیبهشت 1390, 18:12 عصر
private void usernameTextBox_TextChanged(object sender, EventArgs e)
{
usernameTextBox.Text = gvTable1.CurrentRow.Cells["username"].Value.ToString();
}
به این صورت

Babak-Magic
سه شنبه 06 اردیبهشت 1390, 18:15 عصر
بعد مگه شما نمیخواین با کلیک روی دیتاگیرید مقداره یوزرنیم رو در تکست باکس نشون بدید؟پس چرا در رویداد usernametextbox_TextChanged کد رو نوشتین؟

aliramazani
سه شنبه 06 اردیبهشت 1390, 18:21 عصر
مشکل من با این کد حل نشد. من می خوام وقتی کاربر روی یک ردیف از گرید ویو کلیک کرد محتویات ستون ما که یوزرنیم هست و الان کاربر روش کلیک کرده توی تک باکس نشون داده بشه. یعنی اگه روی یه ردیف دیگه کلیک کرد محتویات اون ردیف نشون داده بشه و به همین ترتیب. بالا خودم یه کد گذاشتم این کار را می کنه ولی هربار در یه فرم جدید.

aliramazani
سه شنبه 06 اردیبهشت 1390, 18:22 عصر
بعد مگه شما نمیخواین با کلیک روی دیتاگیرید مقداره یوزرنیم رو در تکست باکس نشون بدید؟پس چرا در رویداد usernametextbox_TextChanged کد رو نوشتین؟

آفرین . دقیقا می خوام همین کار را بکنم. پس کجا بنویسم؟

aliramazani
سه شنبه 06 اردیبهشت 1390, 18:23 عصر
توی رویداد گرید ویو نوشتم درست شد. مرسی

ashena2
سه شنبه 06 اردیبهشت 1390, 18:26 عصر
با سلام من هم دقيقا همين مشكل را دارم .خيلي هم ضروري است . لطفا اگه كسي ميدونه راهنمايي كنه

aliramazani
سه شنبه 06 اردیبهشت 1390, 18:39 عصر
درست شد ولی گاهی وقتها باید چند بار کلیک کنم تا سطر بعدی را توی تکت باکس نشون بده!

Babak-Magic
سه شنبه 06 اردیبهشت 1390, 21:16 عصر
ببین اینو فقط شماره ی Cells یوزر نیم من 0 هست تو مطابق با Cells هات تعیین کن
private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
textBox2.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();
}