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

时间:2015-11-08 15:05:13

标签: c# datagridview

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

1 个答案:

答案 0 :(得分:0)

您未指定平台。

如果是 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);
        }   
    }
    
  4. P.S。我的情况我使用DataObj作为数据有界对象

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

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