[英]Perform a calculation between two cells in a datagrid
我有一个WPF Datagrid,我想对HAND上的数量进行计算。
如果QtyOnHand <SetMin(Text)或If Qty> SetMax(Text)并将结果放在“状态”列中。 我将如何去做。 到目前为止,我发现的每个教程都是针对WinForms的,不适用于WPF数据网格。
我是这里的菜鸟,所以如果有人愿意向我指出正确的方向,我就不会反对。
我正在从数据集中填充网格
void mainDataSet()
{
SqlConnection con = new SqlConnection(str);
SqlDataAdapter dataAdapter = new SqlDataAdapter(select, con);
con.Open();
SqlCommandBuilder commandBuilder = new SqlCommandBuilder(dataAdapter);
con.Close();
DataSet ds = new DataSet();
dataAdapter.Fill(ds);
dataGridView1.IsReadOnly = true;
dataGridView1.DataContext = ds.Tables[0];
}
为什么不只添加一个具有计算的属性并将列绑定到该属性呢? 我假设您对(文本)的注释实际上是字符串值,而不是小数点...因此将它们转换(是否有可能为null?),然后比较并返回您喜欢的状态字符串。 请注意,以下示例假定setmin和setmax永远不会为null或失败转换,并且如果qtyonhand在范围之内,则不会返回任何状态(空白)。
public string Status
{
get
{
decimal _min = Convert.ToDecimal(this.SetMin);
decimal _max = Convert.ToDecimal(this.SetMax);
string _status = string.Empty;
if (this.QtyOnHand < _min)
_status = "whatever the status is that means not enough on hand.";
if(this.QtyOnHand > _max)
_status = "whatever the status is that means too much is on hand.";
return _status;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.