 |
|
สอบถามเกี่ยวกับ Combobox เวลาค้นหา ปัจจุบันใช้ radiobutton ในการค้นหาอยู่ครับ |
|
 |
|
|
 |
 |
|
อยากจะสอบถามนิดนึงครับตอนนี้ผมทำ form ค้นหา แต่ตอนนี้ผมใช้เป็น radiobutton เป็นกฎในการค้นอย่าง อย่างเช่น ติกที่ radiobutt1 แล้วพิมข้อความลง textbox ให้ไปค้นหาที่ชื่อ ในdatabase แต่ถ้า ติกที่ radiobutton2 ให้ไปค้นหานามสกุล ผมอยากจะเปลี่ยนจากใช้ radiobutton โดยมาใช้ combobox แทนจะมีวิธีการไหนบ้างครับ ตัวอย่าง โค๊ด ที่ใช้อยู่ปัจจุบันครับ
Code (VB.NET)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ClearAllData()
Dim sql As String
FormatGrd()
If ds.Tables.Contains("Table3") Then ds.Tables("Table3").Clear()
sql = "Select add_firstname, add_lastname, add_nickname, add_department, add_position, add_extention,add_mobile,add_location, add_email, add_pic from Table3 "
If RadioButton1.Checked = True Then
sql = sql + "where add_firstname like '" + TextBox10.Text + "%'"
ElseIf RadioButton2.Checked = True Then
sql = sql + "where add_lastname like '" + TextBox10.Text + "%'"
ElseIf RadioButton3.Checked = True Then
sql = sql + "where add_nickname like '" + TextBox10.Text + "%'"
ElseIf RadioButton4.Checked = True Then
sql = sql + "where add_department like '" + TextBox10.Text + "%'"
ElseIf RadioButton5.Checked = True Then
sql = sql + "where add_position like '" + TextBox10.Text + "%'"
ElseIf RadioButton6.Checked = True Then
sql = sql + "where add_extention like '" + TextBox10.Text + "%'"
ElseIf RadioButton7.Checked = True Then
sql = sql + "where add_location like '" + TextBox10.Text + "%'"
ElseIf RadioButton8.Checked = True Then
sql = sql + "where add_email like '" + TextBox10.Text + "%'"
ElseIf RadioButton9.Checked = True Then
sql = sql + "where add_mobile like '" + TextBox10.Text + "%'"
Else
End If
Dim da As New OleDbDataAdapter(sql, conn)
da.Fill(ds, "table3")
grdProduct.DataSource = ds
grdProduct.DataMember = "table3"
FormatGrd()
If ds.Tables("table3").Rows.Count <= 0 Then
MessageBox.Show("Not Found information !!!", "Performance", MessageBoxButtons.OK, MessageBoxIcon.Information)
ShowData()
End If
End Sub
Tag : .NET, VB.NET
|
|
 |
 |
 |
 |
Date :
2016-07-18 15:20:10 |
By :
wathotza |
View :
1422 |
Reply :
12 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ใช้ SelectedIndexChange ครับ ใน Properties ครับ
Code (VB.NET)
Private Sub Txt_Pri_SelectedIndexChanged(sender As Object, e As EventArgs) Handles Txt_Pri.SelectedIndexChanged
'code
End Sub
อยากจะป้องกันการพิมพ นอหเหนือจากข้อมูลใน combobox
Code (VB.NET)
Private Sub Txt_Status_TextChanged(sender As Object, e As EventArgs) Handles Txt_Status.TextChanged
For index As Integer = 0 To (Txt_Status.Items.Count - 1)
If Txt_Status.Text = Txt_Status.Items(index).ToString() Then
Else
Txt_Status.Text = ""
End If
Next
End Sub
|
 |
 |
 |
 |
Date :
2016-07-18 15:24:27 |
By :
kokiflam |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอถามเพิ่มเติมนะครับ
ผมอยากจะทำแบบว่า เลือกหัวข้อในcombobox แล้วพิมพ์ข้อความที่ต้องการค้นหา แล้วกดปุ่มค้นหา จะสามารถทำวิธีไหนได้บ้างครับ ไม่ค่อยเข้าใจ ข้อมูลของคุณ auu ครับ ขอโทษและขอบคุณด้วยครับ
|
 |
 |
 |
 |
Date :
2016-07-18 15:28:47 |
By :
wathotza |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|

ของผมเวลา เวลาเลือก combobox จะสั่งให้
Code (VB.NET)
Private Sub Txt_Pri_SelectedIndexChanged(sender As Object, e As EventArgs) Handles Txt_Pri.SelectedIndexChanged
checkbox1.checked = true
End Sub
เวลา User พิมพ์ ใน Combobox เราก็สั่ง คำสั่งนี้ไว้เพื่อให้ให้ พิมพ์ได้
Code (VB.NET)
Private Sub Txt_Status_TextChanged(sender As Object, e As EventArgs) Handles Txt_Status.TextChanged
For index As Integer = 0 To (Txt_Status.Items.Count - 1)
If Txt_Status.Text = Txt_Status.Items(index).ToString() Then
Else
Txt_Status.Text = ""
End If
Next
End Sub
พอก็ search
Code (VB.NET)
If checkbox1.checked Then
// ตามที่ wathotza เขียนอยู่ก็ได้ครับ
endif
ถ้ายังไม่ตรงกับที่ wathotza ต้องการ
คุณ wathotza น่าจะ ต้องอธิบาย เพิ่มเติม ในส่วน combobox ว่าอยากได้ประมาณไหน
เพราะดูจาก code ที่คุณให้มานั้น เหมือนกับว่าแค่เลือกว่าต้องการ Seach จากอะไร โดยใช้ radio แล้วก็มาเช็คเงื่อนไข ในการ search
|
 |
 |
 |
 |
Date :
2016-07-18 15:55:42 |
By :
kokiflam |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ใช่แล้วครับตามที่ คุณ auu เข้าใจผมแค่อยากจะเปลี่ยนจากใช้ radiobutton มาเป็น combobox แทนเท่านั้นครับ เพราะใช้ radiobutton มันค่อนค้างเกะกะพื้นที่เท่านั้นเองครับ
ขอบคุณครับ
|
 |
 |
 |
 |
Date :
2016-07-18 16:16:21 |
By :
wathotza |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
จาก #NO5 ผมเล่าต่อ (เหน็บแนมนิดฯ ด้วยประโยคสั้นฯว่า "คนเราอย่าปิดตัวเอง)
ผมจะเรียงร้อยเรื่องราวของงานโปรแกรมมิ่งให้เป็นเรื่องเล่าขานต่อฯกันไป
จำได้ไหม? หลังจากผ่านกระบวนการบางอย่าง อทิเช่น จะใช้ภาษาอะไรในการเขียนโปรแกรม(พัฒนาโปรแกรม)
เมื่อได้ข้อสรุปในใจแล้ว ก็ลงโปรแกรม A, B, C, etc มาแล้ว
--- เราเริ่มเขียนโปรแกรมครั้งแรก
Code (VB.NET)
IF True Then
...
Else
...
End If
จากข้างบนที่เขียนให้ดู นั่นหมายถึงว่า ณ.ตอนนั้นเราต้องการแค่เข้าใจ/เชี่ยวชาญในภาษาโปรแกรมนั้นฯ
ลองสังเกตุดูว่า เขียนไปเขียนมา วันหนึ่งมันก็ไม่ได้ตรงตามความต้องการของเรา เสมอ เป็นเพราะอะไร?
...
...
...
เดี๋ยวมาเล่าต่อ...
|
 |
 |
 |
 |
Date :
2016-07-18 17:34:33 |
By :
หน้าฮี |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมนึกอะไรได้ผมก็เขียนลงไป (ผมไม่ได้กลั่นกรองคำพูด) แต่ความต้องการและความรู้สึก
--- ผมก็ไม่ได้อยากจะให้มันแย่ลงไปมากกว่าเดิมเสมอ ผมคิดเช่นนี้
จาก #NO6 ...
|
 |
 |
 |
 |
Date :
2016-07-18 17:51:47 |
By :
หน้าฮี |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
จาก #NO 7
ผมคั่นความหมั่นใส้ด้วย ตัวอย่างเล็กฯน้อยฯ (คล้ายฯแมลงป่องชูหางเอาไว้ขู่ว่า ตรูก็มีพิษสงเหมือนกันนะ)
--- (พิษของแมลงป่องมันฆ่าคนไม่ได้หรอกครับ)

จากรูปภาพประกอบด้านบน เพื่อความเข้าใจในเบื้องต้นคุณได้อะไรบ้าง?
---
|
 |
 |
 |
 |
Date :
2016-07-18 17:59:32 |
By :
หน้าฮี |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
จาก #NO 8 พวกคุณลองพิมพ์และเอาไปให้ภรรยาของพวกคุณดูว่า
--- หล่อนเห็นอะไรบ้าง?
สมมุติว่า คนแรกบอกว่า หนูเห็นนก
-- คุณก็สะบายใจได้ระดับหนึ่ง (ไม่ต้องพิสูจน์ว่าจริงหรือเท็จด้วยการสูดดมด้วยจมูกและลิ้นของเราเอง)
...
...
...
...
สมมุติว่า หลายคนในนั้นบอกว่า หนูเห็นนก และหนูเห็นหมี
--- แบบนี้ยุ่งเลย
ปล. คนที่เรียงร้อยงานโปรแกรมมิ่งให้เป็น บทความ(กวี)ได้ มันก็คงจะไม่ธรรมดาหรอกครับ
|
 |
 |
 |
 |
Date :
2016-07-18 18:37:04 |
By :
หน้าฮี |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ไปสามวามาสามศอก วกกลับมาเรื่องโปรแกรมมิ่ง
เขียนให้ดูเป็นตัวอย่างประกอบเพื่อให้เข้าใจ
Code (VB.NET)
Private Sub Form_Load(sender As Object, e As EventArgs) Handles Me.Load
Dim cboTestData = {New With {.ID = "add_firstname", .Name = "ค้นหาตามชื่อ"},
New With {.ID = "add_lastname", .Name = "ค้นหาตามนามสกุล"},
New With {.ID = "add_nickname", .Name = "ค้นหาตามชื่อเมียน้อย"},
New With {.ID = "add_department", .Name = "ค้นหาตามชื่อน้องเมียสุดที่รัก"}
}
cboARTCode.DataSource = cboTestData 'cboTestData.ToList()
cboARTCode.DisplayMember = "Name"
cboARTCode.ValueMember = "ID"
End Sub
Private Sub cboARTCode_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboARTCode.SelectedIndexChanged
Dim sField As String = cboARTCode.SelectedValue
Dim makeLOVE As String = "Select * From Table Where 'หอย' = 'หอย'"
If Not String.IsNullOrEmpty(sField) Then
makeLOVE = makeLOVE + " And " + sField + " Like '" + TextBox10.Text + "%'"
End If
EXECUTESQLQuery()
End Sub
|
 |
 |
 |
 |
Date :
2016-07-19 08:40:27 |
By :
หน้าฮี |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
จาก #NO10 ผมถามกลับ
สมมุติผมมี INPUT 500 หน้าจอ ผมต้องเขียนโค๊ดแบบเดิมฯ ซ้ำ (LOOKUP) ทุกครั้งด้วยหรือไม่?
Code (VB.NET)
Private Sub cboARTCode_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboARTCode.SelectedIndexChanged
Dim sField As String = cboARTCode.SelectedValue
Dim makeLOVE As String = "Select * From Table Where 'หอย' = 'หอย'"
If Not String.IsNullOrEmpty(sField) Then
makeLOVE = makeLOVE + " And " + sField + " Like '" + TextBox10.Text + "%'"
End If
EXECUTESQLQuery()
End Sub
|
 |
 |
 |
 |
Date :
2016-07-19 08:53:33 |
By :
หน้าฮี |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
จาก #NO11 ผมถามต่อไปอีก
วันดีคืนดี Users บอกว่า หนูไม่ต้องการเพียงค้นหาขึ้นต้นด้วยคำ
อยากอยากอยาก หนูจะคันหา ในคำ ได้ด้วย/ ลงท้ายด้วยคำ ได้ด้วย
แล้วเราจะทำอย่างไรล่ะ?
|
 |
 |
 |
 |
Date :
2016-07-19 09:00:29 |
By :
หน้าฮี |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|