PDA

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



grafic
سه شنبه 11 بهمن 1390, 12:24 عصر
سلام دوستان عزیز
من توی یک برنامه یک Data Source درست کردم و اون رو روی فرم انداختم و حالت نمایشش رو Data grid view گذاشتم
من دوت ا جدول دارم که با هم ارتباط دارن
دو تا جدول از طریق کد با هم در ارتباط هستن
می خواهم به جای نمایش کد در دیتا گرید یا در حالت Detail به جایش اسم رو نمایش بده

باید چه کار کنم ؟

81773

81774

AliSaeedi_v
سه شنبه 11 بهمن 1390, 12:36 عصر
سلام
شما میتونی visible اون فیلد رو فالس کنی یا حتی header اون رو عوض کنی

grafic
سه شنبه 11 بهمن 1390, 12:44 عصر
فکر کنم درست توضیح ندادم
من میخواهم محتویات اون فیلد عوض بشه

مثلا بجای شماره 1 اسمش (تکنیسین)بیاد


81775

AliSaeedi_v
سه شنبه 11 بهمن 1390, 12:55 عصر
دوستم باید بیشتر توضیح بدی.توی جدول cat چه فیلدایی داری؟ اگه توی cat فیلد name داری چرا اونا نذاشتی؟اگه با query کار میکنی این کوئری رو امتحان کن.
select * from cat,info where cat.id=info.catid

grafic
سه شنبه 11 بهمن 1390, 13:03 عصر
این هم فیلد ها
81776 81777

من می خواهم با Data Source کار کنم

zarrinnegar
سه شنبه 11 بهمن 1390, 14:42 عصر
ببین باید این کار رو انجام بدی
اگر میخوایی توی Textbox نمایش بدی مه اشتباهه باید توی Combobox نمایش بدی که طرف بتونه تغییرش هم بده و یا موقع ورود اطلاعات انتخاب کنه
راهش اینه که یک select میزنی به اون جدول دومی و میایی dataTable رو با هاش پر میکنی و بعد خاصیت DisplayMember مربوط به Combobox رو میزاری برابر ایم فیلد name اون جدول دومی و خاصیت ValuMember مربوط به اون رو میزاری برابر فیلد کد
بعد Datasource اون رو میزاری برابر datatable

بعد موقع نمایش اطلاعات جدول اولی ، وقتی رسیدی به کد مربوط به جدول دوم
میایی خاصیت SelectedValue مربوط به Combobox رو میزاری برابر فیلد جدول اول


در حالت دوم که به گرید وصل میکنی باید قبلش یک Join بزنی بین جدول اول و دوم بعد اسم فیلد رو بیاری


select A.*,B.Filed from info as A
inner join cat as B
on A.catId = B.ID


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

grafic
چهارشنبه 12 بهمن 1390, 07:51 صبح
سلام دوستان
مشکل حل شد.
چون من از STDataSet استفاده کرده بودم و همه چیز بدون کد نویسی بود می خواستم این کار ها رو هم بدون کد نویسی انجام بدم



1- اگر دیتاگرید رو درگ گنید میتونید برید توی تنظیمات دیتا گرید و این تنظیمات رو انجام بدید .


81831



2- اگر حالت Detail رو به فرم اضافه کنید می توانید اون فیلد رو به صورت Combo box در بیارید
*یک نکته که توی این حالت وجود دارد اینه گه باید هم Data banding رو پر کنید هم Data Source رو
*توی Data banding وصل میشه به Binding Source اصلی که اینجا برای من INFO بود ولی توی Data Source وصل میشویم به Binding Source فرعی که برای من اینجا Cat بود
*بعد خاصیت Display Member ,Values member رو از روی Binding Source فرعی پر می کنیم.

81833


این هم نتیجه خروجی

81832