获取所选月份WPF MVVM的总行数

时间:2017-10-02 23:17:33

标签: c# mysql wpf mvvm

我正在寻找一种根据日期选择器中所选月份计算天数的方法。

我模型中的日期和ID字段定义为:public Nullable<System.DateTime> Date { get; set; }  public int ID { get; set; }

 private DateTime _mDate = DateTime.Now;

    public DateTime MDate
    {

        get { return _mDate; }
        set
        {
            if (value == _mDate)
            {
                return;
            }
            else if (_selectedTabIndex == 0)
            {
                _mDate = value;
            }

            else
            {
                _mDate = value;
                OnPropertyChanged("MDate");
                SetDaysCompleted();
            }

        }

    }


private void SetDaysCompleted()
        {
         int.TryParse(MDate.ToString("MM"), out int month);
         DaysCompleted = Convert.ToDecimal(db.MyTable
.Where(a => (a.Date < MDate) && (int.TryParse(a.Date.ToString("MM"), out int smonth) == month))
.Select(a => a.ID).Count());
         }

我希望这样的东西可以工作但是我得到一个“没有方法重载'ToString'需要1个参数”错误。有人可以建议我应该如何重写查询,或者是否有更好的方法从所选月份的开头获取行数?谢谢。

1 个答案:

答案 0 :(得分:1)

我可能弄错了,但我认为问题出在这里:

public Nullable<System.DateTime> Date { get; set; }  
public int ID { get; set; }

首先尝试将Nullable<System.DateTime> Date转换为System.DateTime Date,以便能够在其上使用.ToString("MM")

代码中的另一个潜在问题可能是:Where(a=>(a.Date < MDate)。同样,如果我正确理解a.Date属于DateTime?类型且无法与DateTime MDate进行比较