簡體   English   中英

vb.net中數據庫中的數據時如何設置datagridview復選框的值

[英]How to set datagridview checkbox value while data from database in vb.net

我想從數據庫設置datagridview復選框的值,但我不知道如何。

MySQL查詢:

SELECT students.Name, students.Class, students.Feedback, IF(students.Feedback = 0, 1, 0) 
NotFeedBack FROM students;

結果是:

====================================================
|Name          |Class        |Feedback |NotFeedBack|
====================================================
|Sandra        |1A           |1        |0          |
|Layla         |2B           |1        |0          |
|Nagisa        |3E           |0        |1          |
|Akabane       |3E           |1        |0          |
====================================================

在vb.net中,我有datagridview1,在這里我聲明並設置數據庫中的值:

Sub show_header()
    datagridview1.Columns.Add("Name", "Name")
    datagridview1.Columns.Add("Class", "Class")
    Dim chk As New DataGridViewCheckBoxColumn()
    datagridview1.Columns.Add(chk)
    chk.HeaderText = "Feedback"
    chk.Name = "Feedback"
    Dim ch As New DataGridViewCheckBoxColumn()
    datagridview1.Columns.Add(ch)
    ch.HeaderText = "NotFeedBack"
    ch.Name = "ch"
End Sub

Sub LoadData()
    dgvOTSum.Rows.Clear()
    dgvOTSum.Refresh()
    Dim tblot As New tblot
    Dim DtTable As New DataTable
    DtTable = tblot.DetailOT
    With DtTable
        For i = 0 To DtTable.Rows.Count - 1
            dgvOTSum.Rows.Add(.Rows(i).Item(0).ToString(), .Rows(i).Item(1).ToString(), _
                             .Rows(i).Item(2).ToString(), .Rows(i).Item(3).ToString())
        Next
    End With
End Sub

我想要這樣的結果:

在此處輸入圖片說明

首先,您應該嘗試數據綁定。

其次,您可以嘗試:

ch.TrueValue = 1
ch.FalseValue = 0
#Region "My declare variable (Class Feedback)"
Private _Name As String
Private _Class As String
Private _Feedback As Boolean
#End Region

#Region "Public Property"
Public Property Name As String
Get
    Return _Name
End Get
Set (value As String)
    _Name = value
End Set
End Property

Public Property Class As String
Get
    Return _Class
End Get
Set (value As String)
    _Class = value
End Set
End Property

Public Property Feedback As Boolean
Get
    Return _Feedback
End Get
Set (value As Boolean)
    _Feedback = value
End Set
End Property
#End Region

功能

Public Function DetailOT() As DataTable
    Dim sql = "SELECT students.Name, students.Class, students.Feedback, IF(students.Feedback = 0, 1, 0)
NotFeedBack FROM students;"
Try
    dtTable = Controldata.SelectQuery(sql)
Catch ex As Exception
    MsgBox(ex.ToString)
End Try
Return dtTable

結束功能

表格1
 Sub show_header() datagridview1.Columns.Add("Name", "Name") datagridview1.Columns.Add("Class", "Class") Dim chk As New DataGridViewCheckBoxColumn() datagridview1.Columns.Add(chk) chk.HeaderText = "Feedback" chk.Name = "Feedback" Dim ch As New DataGridViewCheckBoxColumn() datagridview1.Columns.Add(ch) ch.HeaderText = "NotFeedBack" ch.Name = "ch" End Sub Sub LoadData() dgvOTSum.Rows.Clear() dgvOTSum.Refresh() Dim tblot As New tblot Dim DtTable As New DataTable DtTable = tblot.DetailOT With DtTable For i = 0 To DtTable.Rows.Count - 1 dgvOTSum.Rows.Add(.Rows(i).Item(0).ToString(), .Rows(i).Item(1).ToString(), _ .Rows(i).Item(2).ToString(), .Rows(i).Item(3).ToString()) Next End With End Sub Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load show_header() LoadData() End Sub 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM