繁体   English   中英

在数据网格中的两个单元之间执行计算

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM