【问题标题】:multiply contents of a column with combobox将列的内容与组合框相乘
【发布时间】:2016-05-08 17:21:21
【问题描述】:
我想将我的 datagridview 中“价格”列的内容乘以组合框中的选定金额,并将其显示在同一列“价格”中。
你能帮帮我吗?我不知道如何运行它。
【问题讨论】:
-
一种常见的方法是将表单上的所有值读入代表域对象的对象(例如订单或发票),将业务逻辑应用于对象并将值写回到表格。解决此类问题的常用方法是 MVC 和 MVP 模式(您可以在 Google 上搜索它们)。但是,如果没有向我们展示您尝试过的方法以及为什么它不起作用的更多细节,这个问题应该因为过于宽泛而被关闭。 From review
标签:
c#
winforms
datagridview
combobox
multiplication
【解决方案1】:
在代码中,您可以在组合框选择索引更改事件中这样做:
private void ComboBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
double selected = Convert.ToDouble(ComboBox1.SelectedItem);
dataAdapter = new SqlDataAdapter(selectCommand, connectionString);
SqlCommandBuilder commandBuilder = new SqlCommandBuilder(dataAdapter);
DataTable table = new DataTable();
dataAdapter.Fill(table);
foreach(DataRow row in table.Rows)
{
var price = Convert.ToDouble(row["price"]);
var calculation = //do your calculation here with **price** and **selected** value above from combo box
row["price"] = calculation.ToString();
}
datagridview.Source = table;
}
上面的选择命令可以是你从数据库中选择的任何命令。