[英]how to manually set data for a column in database which has “Datetime” type?
[英]How to manually set column header to datagridview with data from database
希望你能帮我这个忙。 目前,我正在为我们的论文开发一个动态薪资系统,其主要功能是为不同公司创建多种薪资格式。 我可以创建一个简单的datagridview来显示基本的员工信息,例如员工的“全名”和“初始比率”,但是可以使用按钮功能(未硬编码)添加新的标头,该功能将保留一个值,以防万一用户想添加免赔额
您未指定平台。
如果是WinForms :
通过单击或任何其他方式添加未绑定的列:
var column = new DataGridViewColumn(new DataGridViewTextBoxCell()); column.Name = "Calculated Column"; column.HeaderText = "Calculated Column"; dataGridView1.Columns.Add(column);
添加处理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; } }
在列中添加对输入数据的处理
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.