【发布时间】:2015-12-10 11:49:06
【问题描述】:
我的表单上有一个网格,列有ExpirationDate。在网格上方,我有两个复选框,active 和 inactive。
当我单击活动复选框时,我希望我的网格仅显示到期日期大于或等于今天日期的行。
当我这样设置条件时:
private string OR(string filter)
{
if (filter != "")
return "OR";
return "";
}
private void chbFilter_CheckedChanged(object sender, EventArgs e)
{
string filter = "";
if (chbAktivan.Checked)
filter += ExpirationDate >= DateTime.Today;
if (chbNeaktivan.Checked)
{
filter += OR(filter);
filter += ExpirationDate < DateTime.Today;
}
bsFilter.Filter = filter;
}
请只关注我的代码filter += ExpirationDate >= DateTime.Today。
错误是:
错误 196 运算符“>=”不能应用于类型的操作数 'System.Windows.Forms.DataGridViewTextBoxColumn' 和 'System.DateTime'
有什么想法吗?
【问题讨论】:
-
不确定为什么要将字符串
filter与表达式的结果相连接。我认为它应该像filter += String.Format(" ExpirationDate >= '{0}' ", DateTime.Today); -
是的,您的代码正在运行! Tnx man...请像其他人一样输入代码,这样我就可以接受答案,因为我现在不能这样做...:)