[英]How to convert a specific datagridview column values to double in c#?
我是C#的新手,正在使用Windows窗體。
有誰知道如何在C#中使用dataGridView1_CellValidating
(或使用其他事件)將特定的datagridview
列值轉換為兩倍? 請幫忙。 謝謝
private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
// for example I want to Validate column4 values if it is not a double then convert it to double.
}
這是您可以在datagridcell中設置雙精度值的方法
double value = double.Parse(dataGridView1.Rows[2].Cells[3].Value.ToString());
dataGridView1.Rows[2].Cells[3].Value = value.ToString("N2");
ToString("N2")
將使用兩個小數位格式化雙精度值
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
//Write in the array massive numbers from сolumn numOfcolumn
int numOfcolumn = 3; //for example
if (numOfcolumn > this.dataGridView1.ColumnCount) numOfcolumn = this.dataGridView1.ColumnCount;
double[] massive = new double[this.dataGridView1.RowCount];
for (int i = 0; i < this.dataGridView1.RowCount; i++)
massive[i] = this.dataGridView1.Rows[i].Cells[numOfcolumn].Value != null ? Convert.ToDouble(this.dataGridView1.Rows[i].Cells[numOfcolumn].Value.ToString()) : 0.0;
}
您可以在初始化列時設置格式,並避免發生任何事件。
如果使用設計器,只需將列的Format
屬性設置為N2
。 要進入“ Format
列屬性,必須突出顯示網格。 然后打開列收集窗口,然后選擇要更改的列。
在Appearance
類別下,您需要單擊DefaultCellStyle
屬性,然后將Format
屬性設置為N2
。
如果要動態創建列,請在初始化列后設置此屬性:
var dgTextBoxCol = new DataGridViewTextBoxColumn();
dgTextBoxCol.Name = "yourColumnName";
dgTextBoxCol.DefaultCellStyle.Format = "N2";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.