Можно ли использовать локальную переменную в качестве фильтра в выражении DataTable.Compute? - PullRequest
0 голосов
/ 05 августа 2020

Я пытаюсь использовать свою локальную переменную (которая представляет собой дату из календаря в строковом формате) для фильтрации строк DataTable. Можно ли это сделать?

private void Calendar_SelectedDatesChanged(object sender, SelectionChangedEventArgs e)
{

    var tb = sender as System.Windows.Controls.Calendar;
    CollectionViewSource addedFoodsViewSource = ((CollectionViewSource)(this.FindResource("addedFoodsViewSource")));

    if (tb == null)
    {
        fooddatabaseDataSet1.AddedFoodsDataTable dt = addedFoodsViewSource.Source as fooddatabaseDataSet1.AddedFoodsDataTable;
        dt.DefaultView.RowFilter = null;
        return;
    }
    else
    {
        string txt = tb.SelectedDate.ToString();

        fooddatabaseDataSet1.AddedFoodsDataTable dt = addedFoodsViewSource.Source as fooddatabaseDataSet1.AddedFoodsDataTable;
        dt.DefaultView.RowFilter = string.Format("AddedDate LIKE '%{0}%'", txt);
        string total = dt.Compute("Sum(AddedFat)", "AddedDate = ???").ToString();
        System.Windows.MessageBox.Show(total);
    }
}

1 Ответ

0 голосов
/ 06 августа 2020
        {
            string txt = tb.SelectedDate.ToString();
            
            fooddatabaseDataSet1.AddedFoodsDataTable dt = addedFoodsViewSource.Source as fooddatabaseDataSet1.AddedFoodsDataTable;
            dt.DefaultView.RowFilter = string.Format("AddedDate LIKE '%{0}%'", txt);

           string totalfat = dt.Compute("Sum(AddedFat)", dt.DefaultView.RowFilter).ToString();             
           testtb.Text = totalfat;
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...