Page 1 of 1
สอบถามปัญหาการใช้ CheckBox
Posted: Fri Mar 02, 2018 1:14 pm
by nutpopo
สบถามการเพิ่มข้อมความลงใน DataGridView ครับ
เมื่อ ติก CheckBox แล้วให้ทำการเปลี่ยนแปลง DataGridView คอลัมล์ ที่ 5 แต่เมือ ติก CheckBox1 ครั้งแรกปกติครับ พอเปลี่ยนไปติก
CheckBox2 ข้อมูลด้านบนที่เปลี่ยจาก ZINC เป็น ZINCAPI กลับเปลียนไปเป็น ZINCRRR หมดเลยครับ
Code: Select all
For f As Integer = 0 To BARCODEDataGridView1.Rows.Count - 1
If Convert.ToString(BARCODEDataGridView1(5, f).Value) = "ZINC" And CheckBox1.Checked = True Then 'And RadioButton1.Checked = True Then 'And CheckBox1.Checked = True Then
BARCODEDataGridView1(5, f).Value = "ZINCAPI"
ElseIf Convert.ToString(BARCODEDataGridView1(5, f).Value) = "ZINC" And CheckBox2.Checked = True Then
BARCODEDataGridView1(5, f).Value = "ZINCRRR"
End If
Next
Re: สอบถามปัญหาการใช้ CheckBox
Posted: Fri Mar 02, 2018 10:17 pm
by snasui
เป็นเช่นนั้นก็ถูกต้องตามที่เขียน Code ไว้แล้วครับ ไม่ทราบว่าต้องการให้แสดงผลเป็นเช่นไรครับ
Re: สอบถามปัญหาการใช้ CheckBox
Posted: Sat Mar 03, 2018 7:51 am
by nutpopo
2 ตารางแรก ต้องเป็น ZINCAPI ครับไม่ใช่ ZINCRRR เพราะตอนแรกผม ติก CheckBox1
พอบันทัดที่ 3 ผมติก CheckBox2 แต่ 2 แถวบนกลับเปลียนจาก ZINCAPI เป็น ZINCRRR หมดเลยครับ
ปัญกาคือผมไม่ต้องการให้เปลียนครับ
พอมีแนวทางหรืองช่องทางอื่นมัยครับ ขอบคุณครับ
Re: สอบถามปัญหาการใช้ CheckBox
Posted: Sat Mar 03, 2018 8:04 am
by snasui
ตามที่อธิบายมาก็ไม่ต้องใช้ Statement นี้ครับ
Code: Select all
ElseIf Convert.ToString(BARCODEDataGridView1(5, f).Value) = "ZINC" And CheckBox2.Checked = True Then
BARCODEDataGridView1(5, f).Value = "ZINCRRR"
ถ้ายังใช้อยู่ก็จะเป็นเหมือนเดิมเพราะไปสั่งให้มีค่าเป็นเป็น "ZINCRRR" เมื่อ Check ที่ CheckBox2 ครับ
หรือไม่ก็ต้องทบทวน Statement นั้นว่าที่จริงแล้วต้องการจะให้เป็น "ZINCRRR" ในกรณีใด เพียงแต่ Check ที่ CheckBox2 หรือว่ามีเงื่อนไขอื่นใดประกอบอีกหรือไม่ อย่างไร ฯลฯ
Re: สอบถามปัญหาการใช้ CheckBox
Posted: Sat Mar 03, 2018 8:26 am
by nutpopo
ถ้าผมต้องการให้ BARCODEDataGridView1(5, f).Value ขึน คำที่ต้องการ หากติก CheckBox1 = API และ CheckBox2 = RRR พอจะมีแนวทางอื่นมัยครับ เพราะการใช้ Convert.ToString กับ For เหมือนมันจะเปลียนทั้ง DataGridView ผมต้องการให้เปลียนแค่บันทัดล่าสุดไปเลือยๆ ครับ
แต่ถ้าไม่ใช้
Code: Select all
ElseIf Convert.ToString(BARCODEDataGridView1(5, f).Value) = "ZINC" And CheckBox2.Checked = True Then
BARCODEDataGridView1(5, f).Value = "ZINCRRR"
ยอดรวมใน
Code: Select all
For k As Integer = 0 To BARCODEDataGridView1.Rows.Count - 1
For j = 0 To ALL_BALANCEDataGridView.Rows.Count - 1
If Convert.ToString(BARCODEDataGridView1(2, k).Value) = ALL_BALANCEDataGridView(1, j).Value And (BARCODEDataGridView1(5, k).Value) = "ZINCRRR" And (BARCODEDataGridView1(4, k).Value) = ALL_BALANCEDataGridView(3, j).Value Then
Dim a As Integer
a = BARCODEDataGridView1(6, k).Value
ALL_BALANCEDataGridView.Rows(j).Cells(5).Value = a + ALL_BALANCEDataGridView.Rows(j).Cells(5).Value
ALL_BALANCEDataGridView.Rows(j).Cells(11).Value = "T"
End If
Next
Nex
ก็จะไม่ตรงครับ
และตรงยอดรวม วงกลบสีน้ำเงินจะขึ้นมาด้วย อันที่จริงต้องไม่มีครับ
Re: สอบถามปัญหาการใช้ CheckBox
Posted: Sat Mar 03, 2018 8:44 am
by snasui
เท่าที่ดูความตั้งใจน่าจะเป็นเรื่องของเงื่อนไขที่ระบุไม่ถูกต้อง
ซึ่งจะต้องเขียนเงื่อนไขมาให้ชัดครับ เช่น
- Check แค่ CheckBox1 ต้องการให้แสดงผลลัพธ์แบบใด
- Check แค่ CheckBox2 ต้องการให้แสดงผลลัพธ์แบบใด
- Check ทั้งสอง CheckBox แสดงผลลัพธ์แบบใด
ยก
ตัวอย่าง Code ด้านล่าง Check ที่ CheckBox1 และไม่ Check ที่ CheckBox2 กับอีกกรณีคือ Check ทั้ง 2 อันครับ
Code: Select all
If Convert.ToString(BARCODEDataGridView1(5, f).Value) = "ZINC" And CheckBox1.Checked = True and CheckBox2.Checked = False Then
BARCODEDataGridView1(5, f).Value = "ZINCAPI"
ElseIf Convert.ToString(BARCODEDataGridView1(5, f).Value) = "ZINC" And CheckBox1.Checked = True And CheckBox2.Checked = True Then
BARCODEDataGridView1(5, f).Value = "ZINCRRR"
End If
Re: สอบถามปัญหาการใช้ CheckBox
Posted: Mon Mar 05, 2018 4:57 pm
by nutpopo
ขอบคุณครับ