PDA

View Full Version : نمایش اطلاعات دیتا گرید



pooneh1
دوشنبه 09 اسفند 1389, 15:50 عصر
من برای نمایش دادن اطلاعات دیتا گرید در تکست باکس وقتی روی یکی از سلولهای دیتا گرید کلیک میشه از این کد استفاده کردم اما کار نمیکنه
private void dgproduct_CellClick(object sender, DataGridViewCellEventArgs e)
{
try
{
txtcode.Text = dgproduct.CurrentRow.Cells[4].Value.ToString();
txtname.Text = dgproduct.CurrentRow.Cells[3].Value.ToString();
txtprice.Text = dgproduct.CurrentRow.Cells[2].Value.ToString();
txtunit.Text = dgproduct.CurrentRow.Cells[1].Value.ToString();

}
catch
{
MessageBox.Show("Can not to Action List.", "Error DataGridView_CellClick", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

}

نمیدونم ایراد کارم از کجاست لطفا یک نفر راهنمائیم کنه
با تشکر

mehdi2004171
دوشنبه 09 اسفند 1389, 16:18 عصر
بهتر به صورت زیر بنویسید
txtcode.Text=dgproduct.Rows[e.rowindex].cells[4].value.tostring

در ضمن توصیه می کنم به جای رویداد cellclick از رویداد rowenter استفاده کنید تا کلیدهای مکان نما را نیز تحت پوشش قرار بدهد.

pooneh1
دوشنبه 09 اسفند 1389, 20:16 عصر
دوست عزیز این تغییرات رو هم اعمال کردم اما باز جواب نگرفتم روش دیگه ای نداره؟

pooneh1
سه شنبه 10 اسفند 1389, 08:24 صبح
کسی نمیتونه به من کمک کنه؟؟

ehsanara
سه شنبه 10 اسفند 1389, 09:01 صبح
ببین این جواب میده:



txtcode.Text = dgproduct[4, e.RowIndex].Value.ToString();

ehsanara
سه شنبه 10 اسفند 1389, 09:16 صبح
txtcode.Text = dgproduct[4, e.RowIndex].Value.ToString();

pooneh1
سه شنبه 10 اسفند 1389, 09:26 صبح
با این روش هم جواب نداد

mobtakercode
سه شنبه 10 اسفند 1389, 09:41 صبح
در ابتدا باید بگویم که دستورات را از try catch خارج کنید و از الان سعی کنید تا آنجایی که امکان دارد دیگر از try catch استفاده نکنید

دوما فکر کنم دستور زیر باید جواب بدهد


if (e.RowIndex >= 0 && dataGridView1.Rows[e.RowIndex].Cells[0].Value != null)//e.rowindex>=0 for double click in header
{
txtcode.Text = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();
}

sobijoon
سه شنبه 10 اسفند 1389, 09:49 صبح
سلام با کد زیر امیتونید...
textBox3.Text = dataGridView1.CurrentRow.Cells[5].Value.ToString();
موفق باشید

pooneh1
سه شنبه 10 اسفند 1389, 10:05 صبح
با این دو روش هم جواب نداد
فکر میکنم برنامه من یک ایراد کلی داره برنامه رو ضمیمه کردم ممنون میشم اگه کسی فرصت داشته باشه و مشکلش رو حل کنه

BehinAfzar
سه شنبه 10 اسفند 1389, 10:26 صبح
سلام دوست عزیز
برنامه تون رو درست کردم

66978
موفق باشی

pooneh1
سه شنبه 10 اسفند 1389, 10:32 صبح
واقعا از شما ممنونم دوست عزیز
خیلی گیر این مشکل بودم
باز هم متشکرم

BehinAfzar
سه شنبه 10 اسفند 1389, 10:33 صبح
فقط یادتون باشه از مسیر محلی استفاده کنین (برای مسیر دیتابیس)

shadi khanum
سه شنبه 10 اسفند 1389, 21:36 عصر
من پروژتونو نگاه کردم، مشکل شما اینه که اون رویدادی که واسه CellClick گرید نوشتین عملا به رویداد CellClick گرید متصل نیست! یعنی با کلیک روی سلول های گریدتون هیچ رویدادی فراخوانی نمیشه، اگه نه کدی که برای CellClick نوشتین مشکلی نداره!
توی فرم perform گرید رو انتخاب کنید، تو رویدادی گرید، کمبوی روبروی رویداد CellClick رو باز کنید و تابع dgproduct_CellClick رو واسش انتخاب کنبد.
موفق باشی