将文本框值与DataTable列进行比较 [英] compare textbox value with DataTable column

查看:120
本文介绍了将文本框值与DataTable列进行比较的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图通过将它与文本框中输入的值进行比较来删除列(Delta_sigma)中的一些数据,但是我得到错误无法对System.Double和System.String执行'<'操作。



I am trying to delete some data in column (Delta_sigma) by comparing it with value entered in textbox but i get error Cannot perform '<' operation on System.Double and System.String.

 DataColumn Delta_sigma = table1.Columns.Add("Delta_Sigma", typeof(double));

Delta_sigma.Expression = "(Convert(Median,'System.Double') -                                        Convert(Median_Refrence,'System.Double')) / (sigma_Refrence)";
 
double delta_sigma_critical = double.Parse(textBox1.Text);


DataRow[] rows4;
 rows4 = table1.Select("  Delta_sigma < delta_sigma_critical ");
            foreach (DataRow r in rows4)
                r.Delete();

推荐答案

Quote:

无法对System.Double和System.String执行'<'操作。

Cannot perform '<' operation on System.Double and System.String.

非常清楚。你无法比较不同类型的数据。



因此,尝试比较相同类型的数据。

Quite clear. You cannot compare data of different types.

So, try to compare data with same type.


double delta_sigma_critical = double.Parse(textBox1.Text);

for(int i = table1.Rows.Count - 1; i >= 0; i--)
{
   double d = Convert.ToDouble(table1.Rows[i]["Median"].ToString()) - Convert.ToDouble(table1.Rows[i]["Median_Refrence"].ToString());
   d /= Convert.ToDouble(table1.Rows[i]["sigma_Refrence"].ToString());
   if (d < delta_sigma_critical) table1.Rows.RemoveAt(i);
}


这篇关于将文本框值与DataTable列进行比较的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆