PDA

View Full Version : سوال: combo box



ندا2611
سه شنبه 22 اردیبهشت 1388, 15:47 عصر
سلام
1-میخوام در combo box دوفیلد از جدول رانمایش بدم.مثلا فیلد نام و فیلد نام خانوادگی را در یک سطر نمایش بدهم .
2- هنگام ذخیره کردن فقط شماره پرسنلی را ذخیره کنم البته شماره پرسنلی در جدول دیگری ذخیره میشود.
با سپاس

anooshiran
سه شنبه 22 اردیبهشت 1388, 18:58 عصر
سلام دوست عزيز

براي اين كه بتواني بيش از يك فيلد را در كمبو باكس نمايش دهي بايد يا از كامپوننت هاي ويژه اين كار استفاده كني يا كلاس مورد نظرت را بنويسي. در اينترنت MultiColumnCombobox را جستجو كن . اگر به نتيجه نرسيدي بگو برايت يك كلاس بنويسم.

davood-ahmadi
یک شنبه 27 اردیبهشت 1388, 22:35 عصر
یک راه حل ، بلکه مورد استفادتون قرار بگیره
می تونید نام و نام خانوادگی را یک فیلد کنید و شماره پرسنلی را هم یک فیلد دیگر و سپس آنها را با آداپتر به یک دیتا تیبل بریزید و سپس کمبوباکس را به جدول مورد نظر وصل کنید:

DataAdapter.Fill(Ds, "dt2")
Me.ComboBox2.DataSource = Ds.Tables("dt2")
Me.ComboBox2.DisplayMember = "FLName"
Me.ComboBox2.ValueMember = "Id"

Ai_Kord
دوشنبه 28 اردیبهشت 1388, 02:53 صبح
لازم نیست در جدول پایگاهتون دو تا فیلد رو ادغام کنید میتونید در دستور select دو تا فیلد را با هم ادغام کنید به این صورت:





select ID , FirstName + ' ' + LastName From Table1





اطلاعاتتون در دو تا ستون select شدن. حالا کافیه valuemember کمبو رو Id (یعنی ستون اول) و displaymember رو ستون دوم یعنی نام و نام خانوادگی (که با هم در یک ستون ادغام شدن) بذارین میتونید از همچین تابعی برای نمایش کمبو تون استفاده کنید:







Public Sub SHOWCOMBO(ByRef CMB As ComboBox, ByVal strQry AsString, ByVal con As SqlConnection)

Dim SQLQuery AsNew SqlCommand()

Dim data As DataTable = Nothing
CMB.DataSource =Nothing


SQLQuery.Connection =Nothing

Dim dataAdapter As SqlDataAdapter = Nothing

CMB.Items.Clear()
SQLQuery.CommandText = strQry
SQLQuery.Connection = con
data = New DataTable()
dataAdapter = New SqlDataAdapter(SQLQuery)
dataAdapter.Fill(data)
CMB.DisplayMember = data.Columns(1).ToString()
CMB.ValueMember = data.Columns(0).ToString()
CMB.DataSource = data




EndSub