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#程序设计有所帮助。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。