PDA

View Full Version : اتصال کمبو به دیتاست



seven7777777
جمعه 20 آذر 1388, 20:11 عصر
دوستان سلام
من دو تا جدول دارم که با کلید خارجی به هم متصل میشن و تو دیتاستم هستن .
حالا می خوام یه کمبو رو به دیتاست وصل کنم و اونو پر کنم . اما نمی دونم چه طوری باید ارتباط بین دو تا جدول برقرار کنم و دیتاستم رو پر کنم .
جدول مجوز : ( کد فرد ، کد مجوز ، کد نوع مجوز )
جدول نوع مجوز : ( کد نوع مجوز ، نام مجوز )
حالا می خوام تمام مجوزهای یه نفر رو با یه Query در بیارم و نام اونها رو بدم به همون کمبو .
امیدوارم خوب توضیح داده باشم .

---------------------------------
آیا باید یه دیتاتیبل درست کنم یا راهی برای دستیابی به نام مجوزها هست .
دیتاست رو هم Fill میکنم با Query که خودم نوشتم تا تمام مجوزهای یه نفر رو دربیاره اما وقتی کمبو رو پر می کنم به جای نام مجوزها کد اونها میاد .

---------------------------------
پیشاپش از کمکتون ممنونم .

csharpprogramer88
جمعه 20 آذر 1388, 21:42 عصر
دیتاست رو هم Fill میکنم با Query که خودم نوشتم تا تمام مجوزهای یه نفر رو دربیاره اما وقتی کمبو رو پر می کنم به جای نام مجوزها کد اونها میاد .

---------------------------------
پیشاپش از کمکتون ممنونم .

ميشه كد پر كرن كمبو رو بزاري شايد بتونم كمك كنم:متفکر:

mehdi5106
جمعه 20 آذر 1388, 21:49 عصر
با کد زیر می تونی اطلاعات رو از یک فیلد در combo نشون بدی

for (int j = 0; j < dataSet.TableName.Rows.Count; j++)
cbomaster.Items.Add(dataSet.TableName.Rows[j]["FieldName"].ToString());

seven7777777
جمعه 20 آذر 1388, 22:20 عصر
من خاصیت دیتاسورس کمبو رو برابر جدول مورد نظرم از دیتاستم قرار دادم که همون جدول مجورهام هست .

درون دیتاست و برای جدول مجوزهام یک Query به شکل
SELECT docno,perno,percode FROM permissions WHERE docno=@docno قرار دادم و اسم اونو FillBy گذاشتم و بعد دیتاستم رو با این FillBy پر می کنم و به خاصیت دیتاسورس کمبو نسبت می دم . حالا می خوام یه جوری بهجای percodeمثلا pername قرار بگیره یعنی نام مجوز نه کد نوع مجوز .

حالا اگه جدولها رو به هم join کنم موقع Fill کردن پیغام میده که نمیشه چون می خواد مقدار نام نوع مجوز رو بریزه تو کد نوع مجوز و ...

حالا شما نظرتون چیه ؟

mahdi87_gh
جمعه 20 آذر 1388, 23:18 عصر
دوست عزیز شما بایدبعد از اینکه datatable مورد نظزت رو به کومبو اختصاص دادید دو خط کد زیر رو هم بنویسی


cmb.DisplayMember= "codenamefield";
cmb.ValueMember = "codefield";