2016-04-23 47 views
0

我正在为webforms使用vb.net上的gridview,我必须将标题添加到此表中的特定组列表中......但我不知道如何做吧,继承人一个我想要的例子: enter image description here如何在gridview中添加多个标题

“学生信息”,“主题信息”和“部分成绩”是我需要添加的标题。

+0

至于创建自己的控制作用就像你的“TITLE标签”

公共类Form1中因为我知道你不能在列中有列...你可能必须为此创建你自己的控制。 –

+0

@VisualVincent我会尝试通过在gridview中添加html标签 –

+0

这绝对不行。 DataGridView不显示HTML和'Visual Basic <> HTML'。 –

回答

1

默认Datagridview没有得到一个选项,因为你愿意。 您可以尝试的DevExpress(它得到了在gridcontrol属性音) 您可以

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    Dim DataGridView1 = New System.Windows.Forms.DataGridView() 
    Dim Column1 = New System.Windows.Forms.DataGridViewTextBoxColumn() 
    Dim Column2 = New System.Windows.Forms.DataGridViewTextBoxColumn() 
    Dim Column3 = New System.Windows.Forms.DataGridViewTextBoxColumn() 
    Dim TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel() 
    Dim Label1 = New System.Windows.Forms.Label() 
    Dim Label2 = New System.Windows.Forms.Label() 

    'DataGridView1 
    DataGridView1.BorderStyle = System.Windows.Forms.BorderStyle.None 
    DataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize 
    DataGridView1.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Column1, Column2, Column3}) 
    DataGridView1.Location = New System.Drawing.Point(13, 78) 
    DataGridView1.Name = "DataGridView1" 
    DataGridView1.RowHeadersVisible = False 
    DataGridView1.Size = New System.Drawing.Size(397, 228) 
    DataGridView1.TabIndex = 0 
    DataGridView1.Name = "dgv" 
    AddHandler DataGridView1.ColumnWidthChanged, AddressOf DataGridView1_ColumnWidthChanged 
    ' 
    'Column1 
    ' 
    Column1.HeaderText = "Column1" 
    Column1.Name = "Column1" 
    ' 
    'Column2 
    ' 
    Column2.HeaderText = "Column2" 
    Column2.Name = "Column2" 
    ' 
    'Column3 
    ' 
    Column3.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill 
    Column3.HeaderText = "Column3" 
    Column3.Name = "Column3" 
    ' 
    'TableLayoutPanel1 
    ' 
    TableLayoutPanel1.ColumnCount = 2 
    TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 53.98936!)) 
    TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 195.0!)) 
    TableLayoutPanel1.Controls.Add(Label2, 1, 0) 
    TableLayoutPanel1.Controls.Add(Label1, 0, 0) 
    TableLayoutPanel1.Location = New System.Drawing.Point(12, 51) 
    TableLayoutPanel1.Name = "TableLayoutPanel1" 
    TableLayoutPanel1.RowCount = 1 
    TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50.0!)) 
    TableLayoutPanel1.Size = New System.Drawing.Size(398, 29) 
    TableLayoutPanel1.TabIndex = 1 
    TableLayoutPanel1.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.[Single] 
    TableLayoutPanel1.Name = "title" 
    ' 
    'Label1 
    ' 
    Label1.Anchor = System.Windows.Forms.AnchorStyles.None 
    Label1.AutoSize = True 
    Label1.Location = New System.Drawing.Point(82, 8) 
    Label1.Name = "Label1" 
    Label1.Size = New System.Drawing.Size(39, 13) 
    Label1.TabIndex = 0 
    Label1.Text = "Label1" 


    ' 
    'Label2 
    ' 
    Label2.Anchor = System.Windows.Forms.AnchorStyles.None 
    Label2.AutoSize = True 
    Label2.Location = New System.Drawing.Point(281, 8) 
    Label2.Name = "Label2" 
    Label2.Size = New System.Drawing.Size(39, 13) 
    Label2.TabIndex = 1 
    Label2.Text = "Label2" 
    ' 
    'Form1 
    ' 

    Me.Controls.Add(TableLayoutPanel1) 
    Me.Controls.Add(DataGridView1) 
End Sub 

Private Sub DataGridView1_ColumnWidthChanged(sender As Object, e As DataGridViewColumnEventArgs) 
    Dim title As TableLayoutPanel = CType(Me.Controls("title"), TableLayoutPanel) 
    Dim dgv As DataGridView = CType(Me.Controls("dgv"), DataGridView) 
    title.ColumnStyles(0).Width = dgv.Columns(0).Width + dgv.Columns(1).Width 
    title.ColumnStyles(1).Width = dgv.Columns(2).Width 
End Sub 

末级

+0

嘿,你认为你可以添加一个小提琴在哪里我可以看到结果? –

+0

创建新项目并将此整个代码粘贴到您的form1.vb – snoopcommands