PDA

View Full Version : دو فیلد در یک combobox



masysh
شنبه 19 فروردین 1385, 10:14 صبح
دوستان ایراد کد زیر زیر برای قرار دادن دو فیلد در یک کومبو باکس چیه؟
Private Sub TwoFieldInCombo()

Dim dt As New DataTable
Dim dc As New DataColumn("merge", GetType(String))
Dim dr As SqlDataReader
Dim cm As SqlCommand
Try

dt.Columns.Add(dc)

Dim str As String = "Select name,lname from table"

SqlConnection1.Open()

cm = New SqlCommand(str, SqlConnection1)
dr = cm.ExecuteReader

dt.Rows.Clear()

Do While dr.Read
dc = dt.Rows.Add(dr.Item("name") + dr.Item("lname"))
Loop

ComboBox1.DataSource = dt
ComboBox1.DisplayMember = "merge"

dr.Close()
SqlConnection1.Close()
cm.Dispose()
SqlConnection1.Dispose()

Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "General Error")
Catch ex As SqlException
MsgBox(ex.Message, MsgBoxStyle.Critical, "Sql Error")

End Try
End Sub

masysh
یک شنبه 20 فروردین 1385, 07:11 صبح
لطفا جواب مرا هم بدهید.......

masysh
چهارشنبه 23 فروردین 1385, 20:07 عصر
یکی هم جواب منو بده:گیج:

M.kavyani
چهارشنبه 23 فروردین 1385, 21:43 عصر
دوست عزیز شما کدتون رو در داخل تگ مربوط به کد بگذارید تا قشنکتر خونده بشه. در ثانی اینهمه کدی که نوشتی باعث میشه کمتر کسی بیاد بخونش و وقت بذاره چیزی رو که مینویسی باید ساده و خلاصه و مفهوم باشه نه بلعکس.

M.kavyani
چهارشنبه 23 فروردین 1385, 21:44 عصر
Private Sub TwoFieldInCombo()

Dim dt As New DataTable
Dim dc As New DataColumn("merge", GetType(String))
Dim dr As SqlDataReader
Dim cm As SqlCommand
Try

dt.Columns.Add(dc)

Dim str As String = "Select name,lname from table"

SqlConnection1.Open()

cm = New SqlCommand(str, SqlConnection1)
dr = cm.ExecuteReader

dt.Rows.Clear()

Do While dr.Read
dc = dt.Rows.Add(dr.Item("name") + dr.Item("lname"))
Loop

ComboBox1.DataSource = dt
ComboBox1.DisplayMember = "merge"

dr.Close()
SqlConnection1.Close()
cm.Dispose()
SqlConnection1.Dispose()

Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "General Error")
Catch ex As SqlException
MsgBox(ex.Message, MsgBoxStyle.Critical, "Sql Error")

End Try
End Sub

RezaJP
چهارشنبه 23 فروردین 1385, 23:05 عصر
نگفتین چه خطایی میده ... اما با این درست میشه

Private Sub TwoFieldInCombo()

Dim dt As New DataTable
Dim dc As New DataColumn("merge", System.Type.GetType("System.String"), "name + ' ' + lname")
Dim da As New SqlDataAdapter("Select name,lname from table", sqlconnection1)

Try



da.Fill(dt)
dt.Columns.Add(dc)


ComboBox1.DataSource = dt
ComboBox1.DisplayMember = "merge"



Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "General Error")
Catch ex As SqlException
MsgBox(ex.Message, MsgBoxStyle.Critical, "Sql Error")

End Try
End Sub
البته پارامتر آخر constructor مربوط به DataColumn رو چک کن "name + ' ' + lname"

hadi2345
پنج شنبه 24 فروردین 1385, 08:41 صبح
با سلام .
چرا از جانوس استفاده نمیکنید ؟؟؟؟ . جانوس به غیر از گریدش کلی ابزار دیگه هم داره که یکیش همینه !!!! .
موفق باشید .

masysh
جمعه 25 فروردین 1385, 11:28 صبح
نگفتین چه خطایی میده ... اما با این درست میشه

Private Sub TwoFieldInCombo()

Dim dt As New DataTable
Dim dc As New DataColumn("merge", System.Type.GetType("System.String"), "name + ' ' + lname")
Dim da As New SqlDataAdapter("Select name,lname from table", sqlconnection1)

Try



da.Fill(dt)
dt.Columns.Add(dc)


ComboBox1.DataSource = dt
ComboBox1.DisplayMember = "merge"



Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "General Error")
Catch ex As SqlException
MsgBox(ex.Message, MsgBoxStyle.Critical, "Sql Error")

End Try
End Sub
البته پارامتر آخر constructor مربوط به DataColumn رو چک کن "name + ' ' + lname"

یک دنیا تشکر

RezaJP
جمعه 25 فروردین 1385, 14:21 عصر
خواهش ... کلا Column.Expression بسیاری از مشکلات رو حل می کنه

saman_itc
یک شنبه 02 دی 1386, 09:24 صبح
سلام دوست عزیز شما با این روش میتونید دو فیلد داخل یک کومبو بزارید


Combo1.Items.Add(dr("name") + (".") + dr("shobe"))