PDA

View Full Version : combobox ای که Item هاش اطلاعات یک فیلد+ کلمه موردنظر من



mah.yar
پنج شنبه 12 بهمن 1385, 10:58 صبح
من با کد زیر اطلاعات فیلد Groupname رو به Combobox بایند کردم(اتصال دادم) در هنگام لود شدن فرم.



Dim sqlda As New SqlDataAdapter("select groupname from groups", sqlcon)
Dim ds As New DataSet
sqlda.Fill(ds, "groups")
ComboBox1.DataSource = ds.Tables("groups")
ComboBox1.DisplayMember = "groupname"


حالا میخوام در ادامه لود شدن فرم یه کلمه دلخواه رو به لیست Combobox اضافه کنم.(نمی خوام combobox این کلمه دلخواه من رو از جدول بگیره )
یعنی می خوام combobox ای داشته باشم که Item هاش اطلاعات فیلد Groupname + کلمه موردنظر من باشه.

با کد Combobox1.items.add میخوام کلمه مورد نظرم رو به لیست combobox اضافه کنم اما نمیتونم.

راه حل؟

ali_kolahdoozan
پنج شنبه 12 بهمن 1385, 11:09 صبح
این نمیشه . وقتی به دیتابیس وصلی دیگه نمیشه . پس دستی به کمبو آیتم add کن .

programmermp
پنج شنبه 12 بهمن 1385, 12:27 عصر
این نمیشه . وقتی به دیتابیس وصلی دیگه نمیشه . پس دستی به کمبو آیتم add کن .

سلام

دقیقا درسته می تونی فیلدت رو به جای کامبوباکس به یک مثلا تکست باکس bind کنی

بعد با یک حلقه for به تعداد رکوردهات انها رو از تکست باکس بگیری و با کلمه ای که می

خواهی ترکیب کنی و توی کامبو باکس بریزی مثل کد زیر





dim i as integer
fot i= 0 to me.binidincontext(dataset1,"table1").count-1
combobox1.add(textbox1.text+"ali")
next

ali_kolahdoozan
پنج شنبه 12 بهمن 1385, 13:25 عصر
این textbox رو برای چی پیشنهاد داید .

خوب یک دیتا ویو بسازه . آیتمها رو از توش بخونه add کنه . هر چند تا آیتم دیگه هم دلش خواست add کنه بعد از اون

linux
پنج شنبه 12 بهمن 1385, 13:25 عصر
من با کد زیر اطلاعات فیلد Groupname رو به Combobox بایند کردم(اتصال دادم) در هنگام لود شدن فرم.



Dim sqlda As New SqlDataAdapter("select groupname from groups", sqlcon)
Dim ds As New DataSet
sqlda.Fill(ds, "groups")
ComboBox1.DataSource = ds.Tables("groups")
ComboBox1.DisplayMember = "groupname"


حالا میخوام در ادامه لود شدن فرم یه کلمه دلخواه رو به لیست Combobox اضافه کنم.(نمی خوام combobox این کلمه دلخواه من رو از جدول بگیره )
یعنی می خوام combobox ای داشته باشم که Item هاش اطلاعات فیلد Groupname + کلمه موردنظر من باشه.

با کد Combobox1.items.add میخوام کلمه مورد نظرم رو به لیست combobox اضافه کنم اما نمیتونم.

راه حل؟
item یک آبجکت هست پس می توانی یک کلاس را نیز به عنوان ایتم قرار دهی
یک کلاس طراحی کن به اسم listIdemData که 2 عضو داشته باشه data,text به شکل زیر


Public Class ListItemData
Public ItemText As String
Public ItemData As Integer
Public Sub New(ByVal displayText As String, _
ByVal itemID As Integer)
' ----- Initialize the record.
ItemText = displayText
ItemData = itemID
End Sub
Public Overrides Function ToString() As String
' ----- Display the basic item text.
Return ItemText
End Function
Public Overrides Function Equals(ByVal obj As Object) As Boolean
' ----- Allow IndexOf() and Contains() searches by ItemData.
If (TypeOf obj Is Integer) Then
Return CBool(CInt(obj) = ItemData)
Else
Return MyBase.Equals(obj)
End If
End Function
Public Shared Widening Operator CType(ByVal sourceItem As ListItemData) As Integer
' ----- To convert to integer, simply extract the integer element.
Return sourceItem.ItemData
End Operator
End Class

و بعد از کدی شبیه زیر استفاده کنی


Dim sqlText As String
Dim dbInfo As SqlClient.SqlDataReader
Dim itemText As String
On Error GoTo ErrorHandler
' ----- Clear any existing values.
destList.Items.Clear()
exceededMatches = False
' ----- Retrieve the values from the database.
sqlText = "SELECT ID, FullName, Active FROM UserName ORDER BY FullName"
dbInfo = CreateReader(sqlText)
Do While dbInfo.Read
' ----- Add one item.
itemText = CStr(dbInfo!FullName)
If (CBool(dbInfo!Active) = False) Then itemText &= " (Inactive)"
destList.Items.Add(New ListItemData(itemText, CInt(dbInfo!ID)))
Loop
dbInfo.Close()
dbInfo = Nothing

programmermp
پنج شنبه 12 بهمن 1385, 13:34 عصر
این textbox رو برای چی پیشنهاد داید .

خوب یک دیتا ویو بسازه . آیتمها رو از توش بخونه add کنه . هر چند تا آیتم دیگه هم دلش خواست add کنه بعد از اون

عل جون من خواستم این کار رو بدون دیتا ویو انجام بده

ولی مثل اینکه پیشنهاد شما بهتره

shahram197070
پنج شنبه 12 بهمن 1385, 18:29 عصر
linux
سلام کارت عالی بود به خاطر کدت ممنون