PDA

View Full Version : سوال - مشكل در پيدا كردن تكست كمبوباكس



hamzehsh
دوشنبه 21 تیر 1389, 16:43 عصر
من يك كمبو دارم كه توش چند تا اسمه و اينطوري از جدول اساتيد خونده ميشه.

Select ID , name from Ostad

اين هم نتيجه كوئري:

1 , hamidi
2, alizadeh
3 , mohamadi
4, ...

و توي كمبو اينطوري اضافه شده:

Cmb.diplaymember = hamidi
cmb.valuemember = 1

Cmb.diplaymember = alizadeh
cmb.valuemember = 2

Cmb.diplaymember = mohamadi
cmb.valuemember = 3
.
.
.

هر اتاق درسي چند تا استاد داره.
وقتي كه دانشجو براي كلاس ثبت نام ميكنه ميتونه استاد رو انتخاب كنه.
مقداري كه با انتخاب استاد در بانك ذخيره ميشه ID استاد هست.

ID - ClassNo - Name - OstadID , data
1 - 102 - farhadi - 1
2 - 102 - hosseini - 1
3 - 102 - emami - 2
4 - 102 - asadi - 2


حالا يك كوئري ديگه دارم كه مياد كل فرم رو با binding پر ميكنه.
وقتي كه كاربر روي كد اتاق جستجو ميكنه بقيه ديتا از بانك خونده ميشه.
مشكل اينجاست كه چطوري به كمبو بفمونم كه اون ايندكس استاد رو بهم نشون بده.
يعني وقتي كه valuemember كه همون ID استاد هست به كمبو فرستاده شد خودش بياد displaymember كه مربوط به اون هست رو نشون بده.

vandermond
دوشنبه 21 تیر 1389, 16:48 عصر
سلام دوست عزيز ورودت به سايت برنامه نويس رو تبريك ميگم.
سوالت يه خورده نامفهومه. اگه ميشه يه بار ديگه توضيح بده و بگو كلاس فيزيك و استاد و ... چي هستن؟

hamzehsh
دوشنبه 21 تیر 1389, 16:56 عصر
ممنون
من چند ساله كه ميام و خيلي استفاده كردم. مطالب سايت واقعا مفيده.
مشكل من اينه

كمبوي اسم استادها از يك جدول خوانده ميشه و در فرم نمايش داده ميشه.
من فقط ID اسم استادها رو توي بانك اصلي كه كلاس درس هست وارد ميكنم. نوع فيلد استاد رو int انتخاب كردم.

حالا
وقتيكه شماره كلاس درس رو وارد ميكنم كل اطلاعات مربوط به اون كلاس درس مياد. مثلا چند نفر ثبت نام كرده اند و روزهاي كلاس و غيره.

اما وقتي كه به كمبوي استاد ميرسه نميدونم چطوري بايد براساس مقدار يعني همون ID اسم استاد رو پيدا كنم.

vandermond
دوشنبه 21 تیر 1389, 17:05 عصر
باز هم كامل متوجه نشدم. شما فقط ID رو وارد ميكنيد (نه اسم رو) خب اسم استاد رو از كجا پيدا كنه؟
اگه ميتونيد بيشتر توضيح بديد يا يه عكسي چيزي بزاريد كه كامل بفهمم.

hamzehsh
دوشنبه 21 تیر 1389, 18:53 عصر
من تو VB6 اينطوري مينوشتم و هميشه درست كار ميكرد.
اما c# رو تازه شروع كردم و نميدونم چطوري بايد كار كنم



Public Sub ListFindItem(ctlAny As ComboBox, lngValue As Long)
Dim intLoop As Integer
Dim BoolFound As Boolean

For intLoop = 0 To ctlAny.ListCount - 1
If ctlAny.ItemData(intLoop) = lngValue Then
ctlAny.ListIndex = intLoop
'boolFound = True
intLoop = ctlAny.ListCount
End If
Next

'ctlAny.ListIndex = -1
End Sub



كمبو يك DataMember داره يك datavalue
خب من ميخوام ديتاوليو رو بدم و ديتاممبر رو بهم نشون بده ديگه
نميدونم ديگه چطوري بايد توضيح بدم. اينم كد vb كه شايد اينطوري منظورم بهتر بيان بشه

vandermond
دوشنبه 21 تیر 1389, 19:41 عصر
اگه درست فهميده باشم شما ميخوايد با انتخاب يك ايتم كومبو، تكست اونو بگيريد. (مثلا اسم اساتيد توي كومبو هست و شما ميخوايد كاربر هر كدوم رو انتخاب كرد، اسم استاد رو يه كاري بكنيد)

string strName = cboName.SelectedItem.ToString();
strName اون چيزي هست كه شما ميخوايد.
اگه هنوز هم درست نفهميدم بگيد تا بگم.

hamzehsh
سه شنبه 22 تیر 1389, 08:24 صبح
سوال اصلي رو اصلاح كردم

beh_develop
سه شنبه 22 تیر 1389, 08:39 صبح
سلام ، اگه مقداری رو که داری به خصوصیت SelectedValue کومبوباکس بدین خودش میره روی رکورد مورد نظر انتخاب میشه.