C#winform下的datagrid中列的宽度如何自己设置

解决方案 »

  1.   

    窗体设计器就可以设计的呀,dataGrid属性-->TableStyle-->ColumnStyle
      

  2.   

    在编译器中设置就可以照楼上说的做
    用代码写的话就要用DataGridTableStyle
      

  3.   

    Dim dgdtStyle As DataGridTableStyle = New DataGridTableStyle
                dgdtStyle.MappingName = dt.TableName
                dgParticular.TableStyles.Add(dgdtStyle)
                ' dgdtStyle.RowHeadersVisible = False
                dgdtStyle.HeaderBackColor = Color.LightSteelBlue
                ' dgdtStyle.AllowSorting = False
                dgdtStyle.HeaderBackColor = Color.FromArgb(8, 36, 107)
                'dgdtStyle.RowHeadersVisible = False
                dgdtStyle.HeaderForeColor = Color.White
                dgdtStyle.HeaderFont = New System.Drawing.Font("Microsoft Sans Serif", 9.0F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
                dgdtStyle.GridLineColor = Color.DarkGray
                dgdtStyle.PreferredRowHeight = 22
                dgParticular.BackgroundColor = Color.White            '设置列的宽度  
                Dim colStyle As GridColumnStylesCollection = dgParticular.TableStyles(0).GridColumnStyles
                colStyle(0).Width = 100
                colStyle(1).Width = 150
                colStyle(2).Width = 100
                colStyle(3).Width = 100
                colStyle(4).Width = 100
                colStyle(5).Width = 100
                colStyle(6).Width = 50
                colStyle(7).Width = 100
                colStyle(8).Width = 0
                colStyle(9).Width = 0
                colStyle(10).Width = 0
                colStyle(11).Width = 0
      

  4.   

    DataGridTableStyle dataGridTableTargetStyle = new DataGridTableStyle();
    DataGridTextBoxColumn dataGridTextBoxColumn = new DataGridTextBoxColumn();dataGridTextBoxColumn.Width = 80;
    dataGridTableTargetStyle.GridColumnStyles.Add(dataGridTextBoxColumn);
    dataGrid.TableStyles.Add(dataGridTableTargetStyle);
      

  5.   

    DataGridTableStyle dataGridTableStyle=new DataGridTableStyle();
    dataGridTableStyle.MappingName=myTable.TableName;
    for(int i=0;i<myTable.Columns.Count;i++)
    {
    DataGridTextBoxColumn  dataGridTextBoxColumn=new DataGridTextBoxColumn();
    dataGridTextBoxColumn.MappingName=myTable.Columns[i].ColumnName;
    dataGridTextBoxColumn.HeaderText=myTable.Columns[i].ColumnName;
    dataGridTextBoxColumn.Width=80;
    dataGridTableStyle.GridColumnStyles.Add(dataGridTextBoxColumn);
    } this.dataGrid1.TableStyles.Add(dataGridTableStyle); this.dataGrid1.DataSource=myTable;