【发布时间】:2017-10-01 05:15:15
【问题描述】:
有没有办法改变数据库边界数据网格视图的列类型?
到目前为止我有这个代码:
Dim query As String = "SELECT a.class_code as 'Class Code', a.sub_code as 'Subject Title', Gr_Lvl as 'Grade Level', sub_session as 'Session', TIME_FORMAT(start_time, '%h:%i%p') as 'Start Time', TIME_FORMAT(end_time, '%h:%i%p') as 'End Time', sub_day as 'Day', class_room as 'Room', sub_units as 'Units', teacher_name as 'Teacher', sub_remarks as 'Remarks', subloading_no " & _
"FROM tbl_subloading a INNER JOIN tbl_class b on a.class_code=b.class_code INNER JOIN tbl_subject c on a.sub_code=c.sub_code WHERE a.class_code='" & txtClassCode.Text & "' AND sub_semester = '" & UserDataRead1("SELECT semester_desc From tbl_semester where status= 'active'") & "' ORDER BY start_time ASC"
FillDBGrid(query, dgvClassDist)
以及当前的输出:
我只想让主题标题列成为一个组合框,而不仅仅是一个文本字段。有什么办法吗?
【问题讨论】:
-
好吧,试试这个:从你的查询中避免
Subject Title,填充DataGridView,填充后,创建组合框Dim cbo as DataGridViewComboBoxColumn,添加项目cbo.Items.Add("some value"): and again, again...并输入DataGridViewComboBoxColumn使用代码dgvClassDist.Columns.Insert(1, cbo)...进入DataGridView,1表示放置组合框列的位置...顺便说一句。有链接类似问题:stackoverflow.com/questions/18677772/… -
您不会更改列的类型。就是这样。您应该在将数据绑定到网格之前创建所需类型的列。您设置网格列的
DataPropertyName来告诉它要绑定到哪个表列,然后您将不会自动创建列。看看这个:vbforums.com/…
标签: vb.net winforms datagridview