Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# winform radGridView中的表达式错误_C#_Winforms_Radgridview - Fatal编程技术网

C# winform radGridView中的表达式错误

C# winform radGridView中的表达式错误,c#,winforms,radgridview,C#,Winforms,Radgridview,我有一个绑定到SQL表的radGridView。其中一列应包含计算结果 this.radGridView1.Columns[4].Expression = "Due - Paid"; 所有涉及的3个字段均为nvarchar类型。我收到此错误,不知道如何修复: 有什么可能出错的提示吗?我能够复制这一点。这是由于要减去的列类型造成的 我创建了一个RadGridView,并使用此代码填充它,该代码编译得很好,但显示了在运行时尝试显示网格时收到的确切错误 radGridView1

我有一个绑定到SQL表的radGridView。其中一列应包含计算结果

this.radGridView1.Columns[4].Expression = "Due - Paid";
所有涉及的3个字段均为nvarchar类型。我收到此错误,不知道如何修复:


有什么可能出错的提示吗?

我能够复制这一点。这是由于要减去的列类型造成的

我创建了一个
RadGridView
,并使用此代码填充它,该代码编译得很好,但显示了在运行时尝试显示网格时收到的确切错误

radGridView1.Columns.Add(new GridViewTextBoxColumn("age"));
radGridView1.Columns.Add(new GridViewTextBoxColumn("iq"));
radGridView1.Columns.Add(new GridViewDecimalColumn("total"));

radGridView1.Rows.Add("5", "5");

radGridView1.Columns["total"].Expression = "age - iq";
相应地更改了列类型,效果良好:

radGridView1.Columns.Add(new GridViewDecimalColumn("age"));
radGridView1.Columns.Add(new GridViewDecimalColumn("iq"));

您只需确保列数据是数字,而不是字符串。

@grantwiney它们在表中都定义为nvarchar(50)。@grantwiney,谢谢您的提示。我会试着把它们改成int或decimal。非常感谢。我明白了,只是为了将来和大家分享。为了使其工作,我还必须将DB表中的数据类型更改为int并更新数据集。你给我指明了正确的方向。