我有一個包含9列的datagridview。我只是想把第5列中的值從第6列中減去,然後在第9列中顯示結果。似乎很簡單,我知道它始終在Excel中完成。但我無法弄清楚這一點。我是否需要使用稱爲計算列的方法創建新類?或者datagridview類有內置的東西可以處理這個問題?如何在datagridview中做簡單的數學
回答
public void dataGridView_Cellformatting(object sender, DataGridViewCellFormattingEventArgs args)
{
if(args.ColumnIndex == 9) //Might be 8, I don't remember if columns are 0-based or 1-based
{
DataGridViewRow row = dataGridView.Rows[e.RowIndex];
args.Value = (int)row.Cells[6].Value - (int)row.Cells[5].Value;
}
}
謝謝你藍色拉賈。我收到一個錯誤說錯誤\t \t「操作員‘ - ’不能應用於類型‘System.Windows.Forms.DataGridViewCell’的操作數和‘System.Windows.Forms.DataGridViewCell’\t」 有什麼想法? – 2010-04-17 04:58:06
EB - 這是因爲row.Cells [index]將返回一個DataGridViewCell對象。您應該調用單元格的Value屬性並按照Anthony Pegram的方式將其解析爲一個整數。 順便說一句,Raja的代碼只有在你編輯第9列中的某些東西時纔會被調用,我不知道你想要什麼。 – 2010-04-17 12:56:14
@EB:固定。不過,我想我應該問過;你想如何使用它?我想我想你有第5和第6列綁定到數據源,這通常是你想要做的。但是,如果您嘗試像使用excel一樣使用數據網格,則最好處理CellEndEdit事件。 – 2010-04-17 14:50:26
下面的示例代碼顯示瞭如何檢索給定位置(列和行,0索引)的值,然後嘗試將這些值轉換爲數字。然後,您可以將計算存儲回DataGridView中的另一個單元格中。
object value1 = dataGridView1[4, 0].Value;
object value2 = dataGridView1[5, 0].Value;
int val1, val2;
if (int.TryParse(value1.ToString(), out val1) && int.TryParse(value2.ToString(), out val2))
{
dataGridView1[8, 0].Value = val1 - val2;
}
else
{
MessageBox.Show("cannot subtract, invalid inputs.");
}
感謝您回覆安東尼。我在窗體類中實現了你的代碼。它看起來不錯,但是當我調試它時,我在2列中輸入了值,而在列9中沒有發生任何事情。我是否應該在特定事件處理程序中實現此代碼?我已經在DataGridView_CellEndEdit事件處理程序中嘗試過了,並且什麼都沒有發生。我應該在buttonclick事件中使用你的代碼嗎? – 2010-04-17 04:50:49
綁定你的DataGridView到DataTable,並給列相關的表達式。嘗試推斷此示例:
DataTable table = new DataTable();
table.Columns.Add("Column1", typeof(int));
table.Columns.Add("Column2", typeof(int));
table.Columns.Add("Column3", typeof(int), "Column1+Column2");
dataGridView1.DataSource = table;
其中'dataGridView1'是一個典型的DataGridView控件。
- 1. 做簡單的數學在SQL查詢
- 2. 如何在SQL SELECT查詢中做簡單的數學運算?
- 3. 用.css做簡單的數學jquery
- 4. 如何在Meteor的模板中做一些簡單的數學運算?
- 5. 簡單的數學jQuery中
- 6. 簡單的數學小數在PHP中
- 7. 如何在gtk2hs中做簡單的ComboBoxEntry?
- 8. 如何做一個簡單的dataGridView搜索/過濾器?
- 9. 做簡單的數學後點擊jQuery中
- 10. 如何在Oracle中做簡單子串
- 11. 如何在字符串中「做數學」?
- 12. 簡單的數學遊戲
- 13. 簡單的數學iOS?
- 14. 上簡單的數學
- 15. 簡單的編程數學
- 16. 簡單的Java數學
- 17. 簡單的Edittext數學Android
- 18. 簡單的iOS數學
- 19. 簡單的數學遊戲
- 20. 簡單的數學問題
- 21. 簡單的Javascript數學
- 22. 簡單的strtotime數學
- 23. 打印簡單的數學
- 24. 簡單的VBA數學
- 25. C#簡單數學函數
- 26. 如何在nette數據庫中做一個簡單的JOIN
- 27. 如何做簡單CONCAT在AWK在Mac
- 28. 不能做簡單的jquery數學運算
- 29. T-SQL中的簡單數學
- 30. 卡在簡單的數學算法
一般提示:不要將DataGridView用作數據存儲。將它綁定到表或列表。 – 2010-04-17 08:07:25