C# 基于C中的用户输入在DataGridView的列中搜索
我试图将TextBox1中的用户输入与DataGridView中第一列的值匹配,如果该值与行的第一列匹配,则返回该行第二列的值 例如,我有两行数据:C# 基于C中的用户输入在DataGridView的列中搜索,c#,.net,winforms,datagridview,C#,.net,Winforms,Datagridview,我试图将TextBox1中的用户输入与DataGridView中第一列的值匹配,如果该值与行的第一列匹配,则返回该行第二列的值 例如,我有两行数据: DataGridView1.Rows.Add(new object[] { 80000f, 1.000f, 1.120f }); DataGridView1.Rows.Add(new object[] { 85000f, 1.044f, 1.158f }); 如果用户在TextBox1中输入80000,我想返回1.000 我该怎么做?如果我正确理
DataGridView1.Rows.Add(new object[] { 80000f, 1.000f, 1.120f });
DataGridView1.Rows.Add(new object[] { 85000f, 1.044f, 1.158f });
如果用户在TextBox1中输入80000,我想返回1.000
我该怎么做?如果我正确理解了您的问题:
var rseult= this.dataGridView1.Rows.Cast<DataGridViewRow>()
.Where(r=>(float)r.Cells[0].Value==float.Parse(textBox1.Text))
.Select(r=>(float)r.Cells[1].Value)
.FirstOrDefault();
80000的结果是1000
85000的结果是1.044你说的指数是什么意思?你的意思是按该列排序吗?保存Col2->List的字典。可以使用一些包装用于特定用途。输入85000的结果是什么?它是1.044吗?如果不使用epsilon比较float,可能会导致问题,请参见或@qub1n,我认为C==运算符工作正常。我测试了1.00==float.Parse1.0000000和1f==float.Parse1.0000000,结果是真的。是的,就是这样,从Nuget安装提供程序。I实体框架特定设置将显示在web.config中。