在gridview中,如果用模版建立固定列,可以在样式中定义小数的位数
自动生成的代码如下
this.IsStop0.DataPropertyName = "IsStop";
dataGridViewCellStyle3.Format = "N4";
dataGridViewCellStyle3.NullValue = null;
this.IsStop0.DefaultCellStyle = dataGridViewCellStyle3;
this.IsStop0.HeaderText = "小数位练习";
this.IsStop0.Name = "IsStop0";可是,我希望用不固定列的方式,即根据数据源绑定列表,在指定列上设置小数位数
尝试了以下方法,不是报错,就是显示时不起作用,如何解决?
dgvDatasetRecord.Columns[i - 1].DefaultCellStyle.Format = "N4";
dgvDatasetRecord.Columns[i - 1].DefaultCellStyle.Format = "99999999.9999";
dgvDatasetRecord.Columns[i - 1].CellTemplate.Style.Format = "N4";
dgvDatasetRecord.Columns[i - 1].InheritedStyle.Format = "N4";
自动生成的代码如下
this.IsStop0.DataPropertyName = "IsStop";
dataGridViewCellStyle3.Format = "N4";
dataGridViewCellStyle3.NullValue = null;
this.IsStop0.DefaultCellStyle = dataGridViewCellStyle3;
this.IsStop0.HeaderText = "小数位练习";
this.IsStop0.Name = "IsStop0";可是,我希望用不固定列的方式,即根据数据源绑定列表,在指定列上设置小数位数
尝试了以下方法,不是报错,就是显示时不起作用,如何解决?
dgvDatasetRecord.Columns[i - 1].DefaultCellStyle.Format = "N4";
dgvDatasetRecord.Columns[i - 1].DefaultCellStyle.Format = "99999999.9999";
dgvDatasetRecord.Columns[i - 1].CellTemplate.Style.Format = "N4";
dgvDatasetRecord.Columns[i - 1].InheritedStyle.Format = "N4";
dataGridView1.AlternatingRowsDefaultCellStyle.Format = "99999999.9999";
1、动态.Columns[i].DataType.ToString() == "System.Double",可以临时判断是哪列。
2、业务软件,呵呵,固定列,用列名可以知道的。
1、列表控件不设置列信息
2、代码中,重要部分举例
this.dgvDatasetRecord.AutoGenerateColumns = true; //获取或设置一个值,该值指示在设置 DataSource 或 DataMember 属性时是否自动创建列。
this.dgvDatasetRecord.DataSource = dtRecordInfo;
dgvDatasetRecord.Columns[i - 1].DefaultCellStyle.Format = "N4";
3、不起作用。
触发 dataGridView1_DataBindingComplete事件
for (int j =0; j < R; j++)//保留四位小数
{
dataGridView1.Columns[j].DefaultCellStyle.Format="N4";
}
运行正常呀