protected void SizeColumns(DataGrid grid)
{
   Graphics g = CreateGraphics(); 

   DataTable dataTable = (DataTable)grid.DataSource;

   DataGridTableStyle dataGridTableStyle = new DataGridTableStyle();

   dataGridTableStyle.MappingName = dataTable.TableName;

   foreach(DataColumn dataColumn in dataTable.Columns)
   {
      int maxSize = 0;

      SizeF size = g.MeasureString(
      dataColumn.ColumnName,
      grid.Font);

   if(size.Width > maxSize)
      maxSize = (int)size.Width;

   foreach(DataRow row in dataTable.Rows)
   {
      size = g.MeasureString(
      row[dataColumn.ColumnName].ToString(),
      grid.Font);

   if(size.Width > maxSize)
      maxSize = (int)size.Width;
   }

   DataGridColumnStyle dataGridColumnStyle = new DataGridTextBoxColumn();
   dataGridColumnStyle.MappingName = dataColumn.ColumnName;
   dataGridColumnStyle.HeaderText = dataColumn.ColumnName;
   dataGridColumnStyle.Width = maxSize + 5;
   dataGridTableStyle.GridColumnStyles.Add(dataGridColumnStyle);
    
   grid.TableStyles.Add(dataGridTableStyle); 

   g.Dispose();
}

相关文章:

  • 2022-12-23
  • 2021-12-18
  • 2021-10-08
  • 2021-05-16
  • 2022-12-23
  • 2021-07-25
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-20
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案