Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,028

HOME > .NET Framework > Forum > มีปัญหาเรื่อง CheckBox ใน DataGridView คะ มีปัญหาเรื่อง CheckBox ใน DataGridView คะ ใช้ vb2005



 

มีปัญหาเรื่อง CheckBox ใน DataGridView คะ มีปัญหาเรื่อง CheckBox ใน DataGridView คะ ใช้ vb2005

 



Topic : 034900



โพสกระทู้ ( 43 )
บทความ ( 0 )



สถานะออฟไลน์




มีปัญหาเรื่อง CheckBox ใน DataGridView คะ ใช้ vb2005 เขียน WinApp คะ
ตอนนี้เขียนเพิ่ม CheckBox ได้เเล้วเเต่เมื่อติ๊กในช่อง CheckBox เเล้วเครื่องหมายติ๊กถูกมันไม่ค้างเอาไว้อะคะ
ทำยังไงดีคะ ตอนนี้เขียน code เเบบด้านล่างนี้ค่ะ

Code (VB.NET)
Private sub Refresh_Grid()
        Dim d_adap As SqlDataAdapter
        Dim d_set As DataSet
        d_set = New DataSet

        d_adap = New SqlDataAdapter("Select Dog_ID,Register_No,Dog_Name,Dog_Sex,Dog_Color,Dog_Price " & _
                                    " from Kennel_Dog Where Dog_Status = 'SA' ", sqlConnection)

        d_adap.Fill(d_set, "Kennel_Dog")
        DataGridView.DataSource = d_set.Tables("Kennel_Dog")

        Dim chkColumn As New DataGridViewCheckBoxColumn()
        chkColumn.Name = "check"
        chkColumn.Width = 30
        chkColumn.DataPropertyName = "check"
        chkColumn.HeaderText = ""
        chkColumn.DisplayIndex = 0
        DataGridView.Columns.Add(chkColumn)

        DataGridView.Columns("Dog_ID").DisplayIndex = 1
        DataGridView.Columns("Register_No").DisplayIndex = 2
        DataGridView.Columns("Dog_Name").DisplayIndex = 3
        DataGridView.Columns("Dog_Sex").DisplayIndex = 4
        DataGridView.Columns("Dog_Color").DisplayIndex = 5
        DataGridView.Columns("Dog_Price").DisplayIndex = 6

        DataGridView.Columns("Dog_ID").HeaderText = "รหัสสุนัข"
        DataGridView.Columns("Register_No").HeaderText = "เลขทะเบียน"
        DataGridView.Columns("Dog_Name").HeaderText = "ชื่อ"
        DataGridView.Columns("Dog_Sex").HeaderText = "เพศ"
        DataGridView.Columns("Dog_Color").HeaderText = "สี"
        DataGridView.Columns("Dog_Price").HeaderText = "ราคา"

        DataGridView.Columns("Dog_ID").Width = 70
        DataGridView.Columns("Register_No").Width = 100
        DataGridView.Columns("Dog_Name").Width = 140
        DataGridView.Columns("Dog_Sex").Width = 40
        DataGridView.Columns("Dog_Color").Width = 100
        DataGridView.Columns("Dog_Price").Width = 90

        AddHandler DataGridView.CellContentClick, AddressOf DataGridView_CellContentClick
End sub

 Private Sub Form13_1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Refresh_Grid()
    End Sub

    Private Sub DataGridView_CellContentClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView.CellContentClick

        Dim chk As DataGridViewCheckBoxCell = DirectCast(DataGridView.CurrentCell, DataGridViewCheckBoxCell)
        'If chk.Value Is Nothing Then
        '    Exit Sub
        'End If
        If CInt(chk.Value) = 0 Then
            chk.Value = 1
            'MessageBox.Show(("คุณเลือก : " & DataGridView.CurrentRow.Cells("Dog_ID").Value.ToString()))
        Else
            chk.Value = 0
        End If
    End Sub





Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-11-26 11:05:11 By : numsom View : 8358 Reply : 16
 

 

No. 1

Guest


ลองสร้าง Class GlobalValue เอาไว้ครับ แล้วให้มันเก็บ ค่าที่เราเลือกเอาไว้ในนั้น
โดยพอเราเลือกค่า แล้วให้จับค่าทั้งหมดนั้นใส่ไปใน Datatable ก็ได้ครับ แล้วให้มันไปเก็ยใน Class GlobalValue
แล้ว พอเราจะ Show Datagrid ขึ้นมาค่อย ให้ไปตรวจสอบว่ามีค่า อยู่ใน Class GlobalValue ถ้ามีค่า ก็ให้ไป Get ค่ามา แสดงใน DataGrid โดยให้ทำการ ตรวจสอบ ใน event RowDatabound ของ DataGrid อะไรประมาณนี้ อ่ะครับ






Date : 2009-11-26 11:49:32 By : ksillapapan
 


 

No. 2



โพสกระทู้ ( 43 )
บทความ ( 0 )



สถานะออฟไลน์


รบกวนเขียน code ให้ดูเป็นตัวอย่างหน่อยได้ไหมค่ะ
Date : 2009-11-26 15:56:59 By : numsom
 

 

No. 3



โพสกระทู้ ( 121 )
บทความ ( 0 )



สถานะออฟไลน์


อยากรู้ด้วยคนครับ
จะเอาไปใช้ทำ Project
Date : 2009-11-26 16:00:20 By : artcode
 


 

No. 4



โพสกระทู้ ( 179 )
บทความ ( 0 )



สถานะออฟไลน์


คือ ตอนนี้ยังไม่สดวกเขียนให้ทั้งหมดอ่ะครับ งั้นเอาแบบนี้ไปดูก่อน

สร้าง Global Class ออกมาก่อนนะครับ
Code (C#)
namespace Global
{
    public static class GlobalValue
    {
        private static  DataTable dtb = null;

        public static  DataTable Dtb
        {
            set { dtb = value; }
            get { return dtb; }
                    
        }
     
    }
}


นำค่าจาก DataGridView มาเก็บใน Datatable ก่อนนะครับ อาจจะเป็นสถานะก็ได้เช่น Check แล้วให้เก็บค่า 1 ยังไม่ได้ Check เก็บ 0 หรือจะเก็บข้อมูลทั้ง Row ที่เรา เลือกก็ได้นะครับ
โดยเราก็จะเก็บ แบบนี้นะครับ Global.GlobalValue.Dtb = data;
ค่าที่เราเลือกจะเก็บอยู่ในนี้

ใน event RowDatabound ของ DataGrid เราก็เอาค่าไปใช้ในส่วนนี้
ตอนนี้ ยังไม่ว่างเขียนให้ทั้งหมด เดี้ยวยังไง จะตามเขียนให้นะครับ ^^
Date : 2009-11-26 16:55:59 By : ksillapapan
 


 

No. 5



โพสกระทู้ ( 121 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณมากๆครับ ยังไงรบกวนด้วยนะครับ ผมจะติดตามครับ
ส่วน code นี้ผมจะเอาไปประยุกต์ดูครับได้หรือไม่เข้าใจจะมาโพสถามครับ
Date : 2009-11-26 17:22:13 By : artcode
 


 

No. 6



โพสกระทู้ ( 179 )
บทความ ( 0 )



สถานะออฟไลน์


ยังไงถ้ามีโจทย์ ก็ขอด้วยนะครับ เอาแบบ ครบๆ นะจะได้ ยกตัวอย่างได้ครบครับ
^^
Date : 2009-11-26 17:26:18 By : ksillapapan
 


 

No. 7



โพสกระทู้ ( 121 )
บทความ ( 0 )



สถานะออฟไลน์


ก็คือผมต้องการ(เขียน WinApp โดย VB2005 นะครับ Code เป็น .vb ครับ)
1 ให้เเสดงข้อมูลสุดนัขใน DataGridView1 หนะครับโดยให้เเต่ละ row มี CheckBox
ก็เลยเขียน code เเบบนี้ครับ
Code (VB.NET)
Private sub Refresh_Grid()
        Dim d_adap As SqlDataAdapter
        Dim d_set As DataSet
        d_set = New DataSet

        d_adap = New SqlDataAdapter("Select Dog_ID,Register_No,Dog_Name,Dog_Sex,Dog_Color,Dog_Price " & _
                                    " from Kennel_Dog Where Dog_Status = 'SA' ", sqlConnection)

        d_adap.Fill(d_set, "Kennel_Dog")
        DataGridView.DataSource = d_set.Tables("Kennel_Dog")

        Dim chkColumn As New DataGridViewCheckBoxColumn()
        chkColumn.Name = "check"
        chkColumn.Width = 30
        chkColumn.DataPropertyName = "check"
        chkColumn.HeaderText = ""
        chkColumn.DisplayIndex = 0
        DataGridView.Columns.Add(chkColumn)

        DataGridView.Columns("Dog_ID").DisplayIndex = 1
        DataGridView.Columns("Register_No").DisplayIndex = 2
        DataGridView.Columns("Dog_Name").DisplayIndex = 3
        DataGridView.Columns("Dog_Sex").DisplayIndex = 4
        DataGridView.Columns("Dog_Color").DisplayIndex = 5
        DataGridView.Columns("Dog_Price").DisplayIndex = 6

        DataGridView.Columns("Dog_ID").HeaderText = "รหัสสุนัข"
        DataGridView.Columns("Register_No").HeaderText = "เลขทะเบียน"
        DataGridView.Columns("Dog_Name").HeaderText = "ชื่อ"
        DataGridView.Columns("Dog_Sex").HeaderText = "เพศ"
        DataGridView.Columns("Dog_Color").HeaderText = "สี"
        DataGridView.Columns("Dog_Price").HeaderText = "ราคา"

        DataGridView.Columns("Dog_ID").Width = 70
        DataGridView.Columns("Register_No").Width = 100
        DataGridView.Columns("Dog_Name").Width = 140
        DataGridView.Columns("Dog_Sex").Width = 40
        DataGridView.Columns("Dog_Color").Width = 100
        DataGridView.Columns("Dog_Price").Width = 90

        AddHandler DataGridView.CellContentClick, AddressOf DataGridView_CellContentClick
End sub

 Private Sub Form13_1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Refresh_Grid()
    End Sub

    Private Sub DataGridView_CellContentClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView.CellContentClick

        Dim chk As DataGridViewCheckBoxCell = DirectCast(DataGridView.CurrentCell, DataGridViewCheckBoxCell)
        'If chk.Value Is Nothing Then
        '    Exit Sub
        'End If
        If CInt(chk.Value) = 0 Then
            chk.Value = 1
            'MessageBox.Show(("คุณเลือก : " & DataGridView.CurrentRow.Cells("Dog_ID").Value.ToString()))
        Else
            chk.Value = 0
        End If
    End Sub


2 ให้เเสดงเครื่องหมายถูกค้างไว้ใน CheckBox ที่เราเลือกครับ
3 พอกดส่งค่าก็ให้ส่งค่าที่เลือกทั้งหมดไปเเสดงใน DataGridView2 ครับ
4 เมื่อกลับมาที่หน้าเดิม DataGridView1 ก็ยังต้องเเสดงค่าที่เราเลือกเอาไว้อยู่ครับ
Date : 2009-11-26 17:37:25 By : artcode
 


 

No. 8



โพสกระทู้ ( 179 )
บทความ ( 0 )



สถานะออฟไลน์


เดี้ยวกลับบ้านแล้วจัดให้ครับ ความจริงผมมองว่ามันก็เหมือนๆ กันและครับ DataGridView หรือ GridView
WinApp หรือ WebApp จะเก็บค่า ถ้าเป็น WebApp ผมก็ใช้ Session ก็จบ ถ้า WinApp ผมก็ลองใช้ Class GloBal มาเก็บค่า ที่เหลือเหมือนกันหมด และ ^^
Date : 2009-11-26 17:58:17 By : ksillapapan
 


 

No. 9



โพสกระทู้ ( 121 )
บทความ ( 0 )



สถานะออฟไลน์


ยังไงรบกวนด้วยนะครับ
เอ่ออยากจะของ mail ไว้คุยด้วยได้ป้ะครับ
Date : 2009-11-26 18:16:09 By : artcode
 


 

No. 10



โพสกระทู้ ( 179 )
บทความ ( 0 )



สถานะออฟไลน์


[email protected]

โทษทีครับงานเยอะมากๆ ยังไม่ได้ทำเลย ยังไงก็ปรึกษาได้ครับ ^^
Date : 2009-11-27 10:40:24 By : ksillapapan
 


 

No. 11



โพสกระทู้ ( 179 )
บทความ ( 0 )



สถานะออฟไลน์


artCode ลอง ไปดู ตรงที่ กรณีที่มีการเลือก CheckBox ทั้งหมด แล้ว มันจะมีการกดปุ่มบันถึกข้อมูล ตรงนั้นอ่ะครับ
ให้มีการเก็บค่าที่เราเลือก ทั้งหมดไว้ใน DataTable ด้วย Global.GlobalValue.Dtb = data; แบบนี้นะครับ
แล้วก็เอาค่าส่วนนี้ ถ้าต้องการบันทึกลง Database ก็ทำเลยปกติ

เมื่อเราต้องการให้แสดงค่าใน DataGridview ที่ 2 เราก็แค่ไปเรียกค่าจาก Global.GlobalValue.Dtb มาใช้ในการสร้าง DataGridview ที่ 2

และถ้าต้องการกลับมาแสดงหน้าเดิม ก็ให้มีการดึงค่า ที่เราเก็บว่ามาตรวจสอบกับ CheckBox ว่าเช่น
Row ไหนมีค่า ตรงกับค่าที่เราเก็บใน Datatable แล้ว ให้ CheckBox ของ Row นั้น Check

ก็ประมาณนี้ ครับ
โทษทีพอดีงานยุ่ง + ไม่ได้ลง ตัว VB.Net ไว้อ่ะ ^^ ยังไงก็แอดเมลล์มาแล้วกันนะครับ
Date : 2009-11-27 10:53:41 By : ksillapapan
 


 

No. 12



โพสกระทู้ ( 43 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณครับคุณ Poo ผมเเอดไปเรียบร้อยเเล้วนะครับ
Date : 2009-11-27 13:01:18 By : numsom
 


 

No. 13

Guest


ความคิดเห็นนะคับ สร้างฐานข้อมูลมาเก็บสถานะที่ติ๊ก แล้วทำการ update แล้ว กลับมาหน้าเดิม ก็เรียกสถานะนั้นขึ้นแล้วให้มันติ๊กใหม่ตอน me.close หรือไม่ ทำ ตัวแปรเป็น array แบบ public มาเก็บค่าก็ได้คับถ้ามีเยอะ ลองดูเท่าที่บอกเป็นแนวครับผม
Date : 2010-03-26 19:15:33 By : minator
 


 

No. 14



โพสกระทู้ ( 5 )
บทความ ( 0 )



สถานะออฟไลน์


thank อยากได้อยู่พอดี
Date : 2010-03-26 22:16:27 By : hiso_namtan
 


 

No. 15



โพสกระทู้ ( 292 )
บทความ ( 0 )



สถานะออฟไลน์


ผมแอดแล้วครับ ไว้จะปรึกษานะครับ
Date : 2010-03-27 16:40:07 By : adunafah
 


 

No. 16



โพสกระทู้ ( 5 )
บทความ ( 0 )



สถานะออฟไลน์


อยากได้อยู่พอดี
Date : 2010-03-28 14:16:52 By : hiso_namtan
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : มีปัญหาเรื่อง CheckBox ใน DataGridView คะ มีปัญหาเรื่อง CheckBox ใน DataGridView คะ ใช้ vb2005
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่