PDA

View Full Version : DataSource در ListBox



riyahiyan
چهارشنبه 02 فروردین 1385, 13:09 عصر
لطفا در مورد نحوه کار خصوصیت DataSource کنترل ListBox منو راهنمایی کنید.

behzad_gh
چهارشنبه 02 فروردین 1385, 19:00 عصر
سلام
DateSource می‌تونه یک جدول DateSet باشه یا DateTable ، DateView یا یک آرایه باشه . برای ست کردن آن از کد زیر استفاده کن


ComboBox1.DataSource = DataSet1.Tables("Suppliers")
ComboBox1.DisplayMember = "ProductName"


خط دوم DisplayMember رو که یک فیلد از جدول دیتاسورس هست برای نمایش ست می‌کنه . یعنی وقتی برنامه رو اجرا کنی لیست شما با محتویات فیلد "ProductName" از جدول "Suppliers"پر می‌شود.

meh_secure
پنج شنبه 03 فروردین 1385, 01:03 صبح
دوست عزیز گویا با VB.Net اشتباه گرفتید. و اما در مورد سوال باید عرض کنم که Data sourceدر list box منبع داده ای را مشخص می کند که قرار است لیست آیتم هایش را از آن بگیرد.

riyahiyan
شنبه 05 فروردین 1385, 23:39 عصر
آقای meh_secure
اگه لطف کنید و یه sample ساده برام بزارین بیش از اون چیزی که فکر کنین بهم کمک کردین.
متشکرم

meh_secure
یک شنبه 06 فروردین 1385, 00:11 صبح
فکر نمی کنم این دیگه Sample بخواد اگه کم هم با دیتابیس تو وی بی کار کرده باشید براحتی می تونید ببینید و اگر نه که در خدمتیم
.

riyahiyan
یک شنبه 06 فروردین 1385, 00:50 صبح
من با datasource کنترل datagrid کار کردم ولی در مورد listbox جواب نمیده.
set datagrid.datasource=recordset.datasource
با کار بصورت اتوماتیک ارتباط دیتابیس با DG برقرار میشه ولی ودر مورد listbox صادق نیست.
اگه یه sample بدین ممنون میشم.

meh_secure
یک شنبه 06 فروردین 1385, 01:04 صبح
شما نام فیلدی که می خواهید محتویات آن در لیست نشون داده بشه رو در Property ی DataField نیز مشخص کن "بصورت استرینگ "

riyahiyan
یک شنبه 06 فروردین 1385, 01:14 صبح
یعنی:
control1.datafield=reordset.field(i).name
ولی جواب نیمده.

meh_secure
یک شنبه 06 فروردین 1385, 01:17 صبح
شما در زمان Runtime نسبت میدید. در زمان Design چطور امتحان کردید/

riyahiyan
یک شنبه 06 فروردین 1385, 01:25 صبح
ببینید اگه این دو خط رو برای DG بکارببریم با هر با استفاده ار متد reflesh محتوای DG برابر با محتوای جدید فیلد میشه.

اما در مورد list box اینطوری نیست .
فکر میکنم اگه یه sample بدین بحث کوتاهتر بشه.

meh_secure
یک شنبه 06 فروردین 1385, 01:29 صبح
چشم. درستش می کنم.

YaSMeTaLl
چهارشنبه 16 فروردین 1385, 01:22 صبح
با سلام خدمت شما
من تازه وارد هستم لطفا کمک کنید
چطوری متونیم اطلاعات موجود در یک msflexgrid رو در لیست باکس ست کرد که بتوان با کلیک کردن بر روی ایتم های وارد شده در لیست باکس انها را وارد یک msflexgrid دیگه کرد
این توضیحات مربوط به یه نرم افزار حسابداری هست

YaSMeTaLl
چهارشنبه 16 فروردین 1385, 01:29 صبح
شما در زمان Runtime نسبت میدید. در زمان Design چطور امتحان کردید/
با سلام خدمت شما
من تازه وارد هستم لطفا کمک کنید
چطوری متونیم اطلاعات موجود در یک msflexgrid رو در لیست باکس ست کرد که بتوان با کلیک کردن بر روی ایتم های وارد شده در لیست باکس انها را وارد یک msflexgrid دیگه کرد
این توضیحات مربوط به یه نرم افزار حسابداری هست

adhami
چهارشنبه 16 فروردین 1385, 08:50 صبح
سلام ببین شاید این کد برای لسیت باکس بدرد بخوره

With cmd
.ActiveConnection = cnn
.CommandText = "select * from tablename"
.CommandType = adCmdText
End With
Set rs = cmd.Execute
Do While rs.EOF = False
List1.AddItem rs.Fields(0).Value
rs.MoveNext
Loop

riyahiyan
چهارشنبه 16 فروردین 1385, 11:33 صبح
adhami عزیز کد شما تک تک رکوردها رو با متد AddItem اضافه میکنه و چون از حلقه استفاده میشه برای جداول بزرگ زمانبره.
هدف اصلی متد DataSource اینکه بدون حلقه یک جدول رو به یک کنترل مرتبط میکنه،در مورد Datagrid خیلی راحته ولی در مورد ListBox با اینکه اغلب خواص مربوط این کار برا هر دوتا مثل همه ولی کار نمی کنه.

riyahiyan
چهارشنبه 16 فروردین 1385, 11:55 صبح
برای درک بهتر یه کد چند خطی نوشتم که این دوتا با هم مقایسه میکنه.