当使用复选框时,我得到Cannot perform '='系统操作.字符串和System.Int32

本文关键字:系统 字符串 Int32 System 操作 perform 复选框 Cannot | 更新日期: 2023-09-27 17:49:19

我正在使用一个简单的复选框,在我的开发机器上一切正常,但最终用户正在获得

"无法对系统执行'='操作。"String and System.Int32".

我尝试改变代码得到相同的结果。我的机器运行的是Windows 8.1,而最终用户使用的是Windows Server 2008 R2。

首先我试了这个:

if(checkBox1.Checked)
{
    this.personnelBindingSource.Filter = ("License =" + arg); 
}

下一步我尝试这个,

string checkRelated = checkBox1.CheckState.ToString();
if(checkRelated.Equals("Unchecked"))
{
    this.personnelBindingSource.Filter = ("License =" + arg);
}

我不明白为什么它甚至认为我在使用'='操作。有人知道为什么我得到这个错误吗?

编辑:我在代码中有这个。

    InitializeComponent();
    myArgLicense = "'" + myArgLicense + "'";

上面不是一个全局的改变,所以我没有在我的复选框例程中解释作用域。我按照Sachu的建议修改了代码,它工作得很好。

    if(checkBox1.Checked)
        {
            this.personnelBindingSource.Filter = ("License =" + "'" + myArgLicense + "'"); 
        }

当使用复选框时,我得到Cannot perform '='系统操作.字符串和System.Int32

唯一可以解释为int32的是arg,所以我会尝试这个:

if(checkBox1.Checked)
{
    this.personnelBindingSource.Filter = ("License ='" + arg.ToString() + "'"); 
}
编辑:我看到Sachu的评论太迟了。