PDA

View Full Version : ارتباط بین ListBox و DataGrid



***UNIQUE***
یک شنبه 06 شهریور 1384, 12:22 عصر
میدونیم وقتی یه Grid و یه ListBox روی فرم میذاریم بینشون ارتباط برقرار میشه (البته فکر کنم فقط زمانی که DataSource اونها رو یکسان (مثلا" DataSet1) قرار بدیم)
حالا من میخوام DataSurce لیست باکسم DataView و Datasource گرید DataSet1 باشه چه جوری میشه کاری کرد که مثل حالت قبلی بینشون ارتباط برقرار بشه ؟

omid_Ahmadi
یک شنبه 06 شهریور 1384, 12:29 عصر
منظورتون از این که بین اونها ارتباط برقرار بشه چیه؟ یعنی با تغییر رکورد انتخاب شده در ListBox اطلاعات مرتبط با اون رکورد در DataGrid نمایش داده بشه؟

***UNIQUE***
یک شنبه 06 شهریور 1384, 19:32 عصر
بله دقیقا" منظورم همینه

omid_Ahmadi
دوشنبه 07 شهریور 1384, 08:30 صبح
میدونیم وقتی یه Grid و یه ListBox روی فرم میذاریم بینشون ارتباط برقرار میشه (البته فکر کنم فقط زمانی که DataSource اونها رو یکسان (مثلا" DataSet1) قرار بدیم)


چنین اتفاقی در یک فرم هیچ وقت رخ نمیده. برای برقراری ارتباط بین DataGrid و ListBox باید در اول هر دو رو با اطلاعات مناسب کامل کنی، بعد در SelectedIndexChanged مربوط به ListBox کدی بنویسی که بر اساس ردیف انتخاب شده اطلاعات مناسب رو از بانک اطلاعاتی استخراج کنه و در DataGrid نمایش بده.

***UNIQUE***
دوشنبه 07 شهریور 1384, 09:29 صبح
امید خان ممنون
اما مشکل حل نشد من وقتی کدها رو به این صورت مینویسم:
DataGrid رو به صورت زیر Set میکنم


this.DataGrid.DataSource = this.DataSet ;
this.DataGrid.DataMemebr = this.DataSet.Table1;

و ListBox رو به صورت زیر
Property DataSource از ListBox رو DataSet و Property DisplayMember رو Table1.Name تنظیم میکنم درست کار میکنه
اما اگر DataGrid رو به همون صورت بالا و ListBox رو به صورت زیر Set کردم دیگه کار نمیکنه ؟؟
Property DataSource از ListBox رو DataView و Property DisplayMember رو نام اون شتون گذاشتم تنظیم میکنم درست کار میکنه
یه Dataview هم گرفتم و براش کد زیر را نوشتم


this.dataView1.RowFilter = "Name like '*a*' or Family like '*a*'";

(در این صورت هم اطلاعات درست روی ListBox و datagrid نشون داده میشه اما دیگه بینشون رابطه برقرار نیست)
میشه راهنمایی کنید اشکالش چیه ؟؟؟!

***UNIQUE***
سه شنبه 08 شهریور 1384, 15:10 عصر
هیچ کس نمیدونه ؟؟

***UNIQUE***
سه شنبه 08 شهریور 1384, 15:11 عصر
من لازمش دارم لطفا" اگه میدونید راهنمایی کنید.

omid_Ahmadi
سه شنبه 08 شهریور 1384, 18:29 عصر
من که گفتم شما باید برحسب ردیف انتخاب شده در ListBox ویژگی RowFilter مربوط به یک DataView رو تنظیم کنید و بعد DataSource مربوط به DataGrid رو برابر اون DataView قرار بدید.

***UNIQUE***
چهارشنبه 09 شهریور 1384, 13:35 عصر
امید جان از راهنماییت بسیار ممنون