[英]How to replace textbox column to checkbox column in datagridview with mysql query
我在將文本框列轉換為vb.net中的復選框時遇到了這個問題。 數據來自mysql,我希望將一列顯示為復選框列。
到目前為止,這是我的代碼:
Private Sub data_load()
Dim mycommand As New MySqlCommand
Dim myadapter As New MySqlDataAdapter
Dim mydata As New DataTable
conn = New MySqlConnection
conn.ConnectionString = connstr
conn.Open()
mycommand.Connection = conn
mycommand.CommandText = "SELECT locator_id, name AS 'NAME', date AS 'DATE', destination AS 'DESTINATION', time_leave AS 'TIME LEAVE', time_return AS 'TIME RETURN', isOfficial AS 'OFFICIAL?' FROM locator_table ORDER BY locator_id DESC"
myadapter.SelectCommand = mycommand
myadapter.Fill(mydata)
DataGridView1.DataSource = mydata
DataGridView1.Refresh()
End Sub
這是圖像:
如您所見, Official?
列不是復選框。
現在,我要Official?
成為復選框列。 Official?
的價值Official?
列僅是1和0。當值為1時,應選中復選框,否則取消選中。 如何實現呢?
您可以將列手動添加到DataTable中,從而為OFFICIAL指定布爾數據類型? 柱。 當DataTable綁定到網格時,它將顯示復選框。
您可以將連接字符串直接傳遞給連接的構造函數,並將命令文本和連接直接傳遞給命令的構造函數。 Using ... End Using塊可確保即使有錯誤,也可以關閉和處置數據庫對象。
如果以后需要DataAdapter來更新數據庫,則可以創建一個。
Private Sub data_load()
Dim mydata As New DataTable
mydata.Columns.Add("locator_id", GetType(Integer))
mydata.Columns.Add("NAME", GetType(String))
mydata.Columns.Add("DATE", GetType(Date))
mydata.Columns.Add("DESTINATION", GetType(String))
mydata.Columns.Add("TIME LEAVE", GetType(String))
mydata.Columns.Add("TIME RETURN", GetType(String))
mydata.Columns.Add("OFFICIAL?", GetType(Boolean))
Using conn As New MySqlConnection(constr)
Using mycommand As New MySqlCommand("SELECT locator_id, name AS 'NAME', date AS 'DATE', destination AS 'DESTINATION', time_leave AS 'TIME LEAVE', time_return AS 'TIME RETURN', isOfficial AS 'OFFICIAL?' FROM locator_table ORDER BY locator_id DESC", conn)
conn.Open()
mydata.Load(mycommand.ExecuteReader)
End Using
End Using
DataGridView1.DataSource = mydata
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.