Dataview过滤问题

时间:2010-10-22 12:38:32

标签: .net filter dataview

有人可以帮助以下代码!!

if (DiaryOccasions != null && DiaryOccasions.Rows.Count > 0)
{
    DataTable dtFilteredOccasions = new DataTable();

    if (ddlMonths.SelectedItem.Value != string.Empty)
    {
        string[] selMonthYear = ddlMonths.SelectedItem.Value.Split('/');

        if(selMonthYear.Length > 0)
        {
            dtFilteredOccasions = new DataView(DiaryOccasions,
                string.Format("MONTH(OccasionDate) = {0} AND YEAR(OccasionDate) = {1}",
                    selMonthYear[0].ToString(), selMonthYear[1].ToString()), 
                string.Empty, DataViewRowState.CurrentRows).ToTable();
        }
    }

    rptrDates.DataSource = dtFilteredOccasions;
    rptrDates.DataBind();
}

尝试时,它会在运行时抛出以下错误:

表达式包含未定义的函数调用MONTH()。

请帮助!!

1 个答案:

答案 0 :(得分:0)

Dataview过滤器无法正常工作。它的语法类似于sql,但这并不意味着你可以在过滤器中调用sql函数。