C#设置WinForm中DataGrid列的方法(列宽/列标题等)


本文实例讲述了C#设置WinForm中DataGrid列的方法。分享给大家供大家参考。具体如下:

写winForm的程序,难免要用DataGrid,自然也就需要设置列格式啊,标题之类的!但是经常列标题设置后没反应,好恶心!

这几天做了个程序,自己研究了一下,主要有有一个地方要注意!那就是下面代码中dts.MappingName="Table"; 这段!以下代码不需要在控件上做任何设置,照着写就能搞定!

private void frmLog_Load(object sender, System.EventArgs e)
{
  //设置DataGrid的列宽
  InitDataGridColumnHeader();
  //GetResult();
}
private void InitDataGridColumnHeader()
{
  DataGridTableStyle dts=new DataGridTableStyle(); 
  //注意:必须加上这一句,否则自定义列格式无法使用
  dts.MappingName="Table"; 
  hrgLog.TableStyles.Add(dts);
  hrgLog.TableStyles[0].GridColumnStyles.Clear();
  //========================设置表头栏位===========================
  DataGridTableStyle dtsLog = new DataGridTableStyle();
  DataGridTextBoxColumn colID = new DataGridTextBoxColumn();
  colID.Width=80; 
  colID.HeaderText = "记录序号";
  colID.MappingName = "ID";
  hrgLog.TableStyles[0].GridColumnStyles.Add(colID); 
  DataGridTextBoxColumn colLog = new DataGridTextBoxColumn();
  colLog.Width=200; 
  colLog.HeaderText = "日志内容";
  colLog.MappingName = "LogMessage";
  hrgLog.TableStyles[0].GridColumnStyles.Add(colLog); 
  DataGridTextBoxColumn colTime = new DataGridTextBoxColumn();
  colTime.Width=100; 
  colTime.HeaderText = "记录时间";
  colTime.MappingName = "LogTime";
  hrgLog.TableStyles[0].GridColumnStyles.Add(colTime);  
  DataGridTextBoxColumn colCatalog = new DataGridTextBoxColumn();
  colCatalog.Width=100; 
  colCatalog.HeaderText = "日志类别";
  colCatalog.MappingName = "LogCatalog"; 
  hrgLog.TableStyles[0].GridColumnStyles.Add(colCatalog);   
}

希望本文所述对大家的C#程序设计有所帮助。


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3