2016-04-23 66 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