PDA

View Full Version : سوال: انتقال اطلاعات ثبت شده در DatagridView به DataTable



meysamda
شنبه 10 اردیبهشت 1390, 01:20 صبح
سلام
1- چطور میشه اطلاعات نوشته شده در datagridview رو به درون یک datatable انتقال داد؟ (یه راه استفاده از حلقه س که بنظرم روش خیلی بدیه!)

2-چطور میشه در datagridview دو تا ستون داشت که اطلاعات ستون دوم بسته به اطلاعات ستون اول تغییر کنه! (فرض کنید در dataGridView، یه ستون از نوع DataGridViewComboBoxColumn داریم که این ستون قراره لیست نام افرادی که در جدول student ثبت هستند رو نمایش بده و با انتخاب شدن هر یک از افراد در ستون اول، شماره تلفن فرد انتخاب شده در ستون دوم نمایش داده بشه!)

meysamda
یک شنبه 11 اردیبهشت 1390, 01:38 صبح
دوستان اگه کسی قبلا چنین مشکلی داشته بگه چطور حل کرده؟ اگه راه حل بهتری وجود نداره حلقه بزارم و اطلاعات رو منتقل کنم!!!؟

amir-yeketaz
یک شنبه 11 اردیبهشت 1390, 01:58 صبح
جواب سوال اول :

DataTable dt = (DataTable)dataGridView1.DataSource

جواب سوال دومم اگه کسی جواب نداد! فردا میدم چون الان رو اوبونتو هستم و کدزنی ...:لبخند:

موفق باشید ...

meysamda
یک شنبه 11 اردیبهشت 1390, 02:06 صبح
ممنون بابت جوابت اماااا... دیتاگرید من به هیچ datasource ی bind نشده!!! کد بالا یه جدول ایجاد میکنه با مقدار null (چون datasource شیء دیتاگرید null هست)

morteza271
یک شنبه 11 اردیبهشت 1390, 08:08 صبح
برای سوال دومتون :

private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
try
{
if (dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString() == "ALi")
dataGridView1.Rows[e.RowIndex].Cells[1].Value = "0915....";
else
dataGridView1.Rows[e.RowIndex].Cells[1].Value = "0916....";
}
catch { }
}

برای سوال اولتون هم فک نمیکنم روشی بجز حلقه داشته باشه.(چون شما به دیتابیس بایندش نکردین وگرنه کد دوستمون جواب میده.).البته شاید بقیه دوستان روشی داشته باشن.
موفق باشید

meysamda
یک شنبه 11 اردیبهشت 1390, 11:38 صبح
مرسی... اما اگه قرار باشه اطلاعات از یه table بیان چی؟؟؟ فرض کن یه StTable داریم با چندین سطر، توی دیتاگرید ستون student name یه ستون از نوع DataGridViewComboBoxColumn هست و مقادیر ستون StTable.FullName رو بصورت لیست نمایش میده... حالا میخوام هر شخصی که از این لیست انتخاب شد شماره مرتبطش هم که توی StTable.Tel هست توی student Tel دیتاگرید آورده بشه!
من از BindingSource استفاده کردم و دو تا ستون مد نظرم در دیتاگرید رو به شیء bindingSource که DataSource ش برابر StTable هست Bind کردم، اما با تغییر نام توی ستون student Name هیچ تغییری توی مقدار student Tel اتفاق نمیفته!!!؟؟

Esmail Solhkhah
یک شنبه 11 اردیبهشت 1390, 12:24 عصر
با سلام
دوتا کلاس نوشتم برای گرفتن دیتاتیبل از گریدویو
این تاپیک
http://barnamenevis.org/showthread.php?95001-1001-نکته-در-سي-شارپ&p=1057743&highlight=#post1057743
موفق باشی

meysamda
یک شنبه 11 اردیبهشت 1390, 12:35 عصر
با سلام
دوتا کلاس نوشتم برای گرفتن دیتاتیبل از گریدویو
این تاپیک
http://barnamenevis.org/showthread.php?95001-1001-نکته-در-سي-شارپ&p=1057743&highlight=#post1057743
موفق باشی

ممنون... ولی انگار شما هم نهایتا مجبور شدی از حلقه استفاده کنی (بنظر میاد راه دیگه ای جز حلقه نداره، CSharpCorner و CodeProject رو هم چک کردم)