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
:D เป็นเช่นนั้นก็ถูกต้องตามที่เขียน 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
:D ตามที่อธิบายมาก็ไม่ต้องใช้ 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
:D เท่าที่ดูความตั้งใจน่าจะเป็นเรื่องของเงื่อนไขที่ระบุไม่ถูกต้อง

ซึ่งจะต้องเขียนเงื่อนไขมาให้ชัดครับ เช่น
  • 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
ขอบคุณครับ