dataGridView 查询的问题!!! dataGridView1的值是从数据库查询出来的,现在我想实现输入一个id(id在dataGridView1存在的)然后就可以查到id对应的某行某列的值不需要关联数据库。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 dataGridView里面的数据,你是通过‘绑定数据源’的方法,还是‘行列添加’的方法。若为:绑定方法,比如DataTable,你检索的数据已经存在缓存中了,只需对Datatable进行查询即可,然后重新绑定若为:添加方法,首先,保存dataGridView里面的数据到缓存,然后清空;检索匹配的id,然后重新添加数据大dataGridView中即可。 完整解决: private void textBox1_TextChanged(object sender, EventArgs e) { try { string id = textBox1.Text; bool bFind = false; foreach(DataGridViewRow dgr in dataGridView1.Rows) { foreach(DataGridViewCell cell in dgr.Cells) { string val = cell.Value.ToString(); if(val==id) //找到单元格 { dataGridView1.CurrentCell = cell; //设置当前单元格 cell.Selected = true; //选中单元格 bFind = true; break; } } if (bFind) break; } } catch(Exception ex) { MessageBox.Show(ex.Message); } } LS正解。。如果要只显示查询出来的那列private void textBox1_TextChanged(object sender, EventArgs e) { dataRow[] drList = dt.Select("id='"+id+"'");bindDgv(drList); } /// <summary> /// 绑定未质控的患者信息 /// </summary> /// <param name="drList"></param> private void bindDgv(DataRow[] drList) { Dgv.Rows.Clear(); foreach (DataRow row in drList) { DataGridView dgv = new DataGridView(); int index = DgvUnQC.Rows.Add(dgv); Dgv.Rows[index].Cells["a"].Value = row["a"].ToString(); Dgv.Rows[index].Cells["b"].Value = row["b"].ToString(); Dgv.Rows[index].Cells["c"].Value = row["c"].ToString();}} 恩·再现有的Dataset 或者datatable里面再进行二次查询· sdl2005lyx的方法不错,连table 都不要用 c# 怎么让在窗体上复制的文字以原字体粘贴显示在word中 Nhibernate CreateSQLQuery() 关于winform缩小化后,不能弹出窗口了 Point的坐标问题 关于制作自动输入问题 有谁知道一个分区里能同时装VC6.0和.net两种开发工具么? 数据库的问题,请大家指点(第一个解决问题并提供代码者,送分20)。 基础知识:类的应用、数据的传递 加密函数怎么写?最好用什么加函方法? 求助,在线等待 跪求C#与研华采集卡通讯程序?? httpHandlers在虚拟主机上不可用?
若为:绑定方法,比如DataTable,你检索的数据已经存在缓存中了,只需对Datatable进行查询即可,然后重新绑定若为:添加方法,首先,保存dataGridView里面的数据到缓存,然后清空;检索匹配的id,然后重新添加数据大dataGridView中即可。
{
try
{
string id = textBox1.Text; bool bFind = false;
foreach(DataGridViewRow dgr in dataGridView1.Rows)
{
foreach(DataGridViewCell cell in dgr.Cells)
{
string val = cell.Value.ToString();
if(val==id) //找到单元格
{
dataGridView1.CurrentCell = cell; //设置当前单元格
cell.Selected = true; //选中单元格
bFind = true;
break;
}
} if (bFind)
break;
}
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
dataRow[] drList = dt.Select("id='"+id+"'");
bindDgv(drList);
}
/// <summary>
/// 绑定未质控的患者信息
/// </summary>
/// <param name="drList"></param>
private void bindDgv(DataRow[] drList)
{
Dgv.Rows.Clear();
foreach (DataRow row in drList)
{
DataGridView dgv = new DataGridView();
int index = DgvUnQC.Rows.Add(dgv);
Dgv.Rows[index].Cells["a"].Value = row["a"].ToString();
Dgv.Rows[index].Cells["b"].Value = row["b"].ToString();
Dgv.Rows[index].Cells["c"].Value = row["c"].ToString();
}
}