اتصال Combobox به پایگاه داده ها بدون کد نویسی

ms_vb

Member
سلام
جطور میشه یه Combobox رو بدون کدنویسی و فقط از طریق Property هاش به پایگاه داده ها وصل کنیم یه طوری که مقادیر Combobox، بر اساس یه فیلد دیگه یا 2 تا فیلد دیگه هم فیلتر شه
 
آخرین ویرایش:

the_king

مدیرکل انجمن
سلام
جطور میشه یه Combobox رو بدون کدنویسی و فقط از طریق Property هاش به پایگاه داده ها وصل کنیم یه طوری که مقادیر Combobox، بر اساس یه فیلد دیگه یا 2 تا فیلد دیگه هم فیلتر شه

اول باید یک منبع داده ای داشته باشید، چیزی که براتون DataSet و BindingSource ارائه کنه.
مثلا در منوی Data با گزینه Add New Data Source یک بانک اطلاعاتی تحت SQL Server یا Microsoft Access
رو به پروژه اضافه کنید.

بعد در بین کنترل های مورد نظرتون یکی شون باید برای ایجاد کردن BindingSource پیشقدم بشه، یعنی لیست
Table یا Query خاصی رو نشون بده تا کاربر یکی شون رو انتخاب کنه. به این صورت که Data Source اون کنترل
را روی Table یا Query مورد نظرتان در داخل DataSet ای که به پروژه اضافه کرده اید تنظیم خواهید کرد،
فیلد خاصی رو هم در Display Memeber مشخص می کنید.

حالا آن کنترل لیست تمامی مقادیر آن فیلد را ارائه می کند که کاربر یکی شان را انتخاب خواهد کرد.
در ضمن بصورت خودکار یک BindingSource به فرم اضافه خواهد شد که برای ارتباط سایر کنترل ها به آن نیاز دارید.
اما دقت کنید که این عمل را صرفا در مورد یکی از کنترل ها انجام می دهید تا BindingSource ساخته شود.

در سایر کنترل ها Data Source را روی همین BindingSource که قبلا ایجاد شده تنظیم خواهید کرد،
نه Table یا Query داخل بانک اطلاعاتی. سپس فیلد دلخواه تان را از داخلش انتخاب می کنید تا آنرا نمایش دهند.

حالا محتویات کنترل ها بر اساس مقادیر انتخاب شده تغییر می کند.

به مثال پیوستی مراجعه کنید. AccessDataBindingSample.zip
 

پیوست ها

  • AccessDataBindingSample.zip
    99.7 کیلوبایت · بازدیدها: 144

ms_vb

Member
ممنون از جوابتون
من منظورم یه چیزی مثل زیر بود:
فرض کنید یه جدول داریم که ستون اول شامل UserId هاست که میتونه مثلا 10 تا User1 داشته باشه،20 تا User2 داشته باشه و ...
ستون دوم هم نام User هاست
اگه با Combobox اول UserID مورد نظر رو انتخاب کنی در Combobox دوم فقط نام User هایی که جلوی این UserId نوشته شده اند به نمایش در می آید
اصلاً یه همچین چیزی بدون کدنویسی ممکنه؟
بازهم ممنون از وقتی که برای جواب دادن به سوالاتم میگذاری
 

the_king

مدیرکل انجمن
ممنون از جوابتون
من منظورم یه چیزی مثل زیر بود:
فرض کنید یه جدول داریم که ستون اول شامل UserId هاست که میتونه مثلا 10 تا User1 داشته باشه،20 تا User2 داشته باشه و ...
ستون دوم هم نام User هاست
اگه با Combobox اول UserID مورد نظر رو انتخاب کنی در Combobox دوم فقط نام User هایی که جلوی این UserId نوشته شده اند به نمایش در می آید
اصلاً یه همچین چیزی بدون کدنویسی ممکنه؟
بازهم ممنون از وقتی که برای جواب دادن به سوالاتم میگذاری

احتمالا به یک Table و دو Query احتیاج دارید، Query اول برای SELECT DISTINCT کردن UserID و
Query دوم برای Select کردن UserID و UserName بر اساس این UserID انتخاب شده. گمان نکنم بدون کد نویسی
بتوانید Query دوم را مجددا اجرا کنید.
 

جدیدترین ارسال ها

بالا