繁体   English   中英

如何使用数据库中的数据手动将列标题设置为datagridview

[英]How to manually set column header to datagridview with data from database

希望你能帮我这个忙。 目前,我正在为我们的论文开发一个动态薪资系统,其主要功能是为不同公司创建多种薪资格式。 我可以创建一个简单的datagridview来显示基本的员工信息,例如员工的“全名”和“初始比率”,但是可以使用按钮功能(未硬编码)添加新的标头,该功能将保留一个值,以防万一用户想添加免赔额

您未指定平台。

如果是WinForms

  1. 通过单击或任何其他方式添加未绑定的列:

      var column = new DataGridViewColumn(new DataGridViewTextBoxCell()); column.Name = "Calculated Column"; column.HeaderText = "Calculated Column"; dataGridView1.Columns.Add(column); 
  2. 添加处理datagridview.cellformatting

     private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { if (dataGridView1.Columns[e.ColumnIndex].Name == "Calculated Column") { var data = (DataObj)dataGridView1.Rows[e.RowIndex].DataBoundItem; e.Value = GetCalculatedColumnValue(data); e.FormattingApplied = false; } } 
  3. 在列中添加对输入数据的处理

     private void dataGridView1_CellParsing(object sender, DataGridViewCellParsingEventArgs e) { if (dataGridView1.Columns[e.ColumnIndex].Name == "Calculated Column") { var data = (DataObj)dataGridView1.Rows[e.RowIndex].DataBoundItem; SetCalculatedColumnValue(data, e.Value); } } 

PS我的情况下,我使用DataObj作为数据绑定对象

public class DataObj
{
    public float Price { get; set; }
    public int Amount { get; set; }
}

如果只需要显示外部数据(只读列)(不需要p3)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM