如何将所选记录显示到datagridview [英] How to display selected record to datagridview
本文介绍了如何将所选记录显示到datagridview的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我只想将符合搜索条件的记录显示到datagridview.我已经尝试过grd1.CurrentCell = grd1.Rows [i] .Cells [0];但没有用.
请帮忙.
以下是我的代码:
//点击查询
Hi,
I want to display record that meet my search criteria to datagridview only. I have tried grd1.CurrentCell = grd1.Rows[i].Cells[0]; but does not worked.
Please help.
Following are my code:
//Click to query
public void button1_Click(object sender, EventArgs e)
{
string cstr;
cstr = "Data Source=P1L3ITN024\\SQLEXPRESS; Integrated Security = True; ";
SqlConnection con1 = new SqlConnection(cstr);
con1.Open();
SqlCommand com1 = new SqlCommand();
com1.Connection = con1;
com1.CommandType = CommandType.Text;
com1.CommandText = "select * from dbo.spt_values";
DataSet ds1 = new DataSet();
SqlDataAdapter adp1 = new SqlDataAdapter(com1);
adp1.Fill(ds1,"values");
grd1.DataSource = ds1;
grd1.DataMember = "values";
con1.Close();
}
//点击搜索
//Click to Search
public void btnSearch_Click(object sender, EventArgs e)
{
grd1.ClearSelection();
string search = txtSearch.Text;
for (int i = 0; i < grd1.Rows.Count - 1; i++)
{
for (int j = 0; j < grd1.Columns.Count; j++)
{
if (grd1.Rows[i].Cells[0].Value.ToString().ToLower().StartsWith(search.ToLower()))
{
grd1.Rows[i].Selected = true;
if (grd1.SelectedRows.Count > 0)
{
//What should i do here to get the selected record display into datagridview??
}
}
}
}
推荐答案
public void btnSearch_Click(object sender, EventArgs e)
{
grd1.ClearSelection();
string search = txtSearch.Text;
for (int i = 0; i < grd1.Rows.Count - 1; i++)
{
for (int j = 0; j < grd1.Columns.Count; j++)
{
if(grd1.Rows[i].Cells[0].Value.ToString().ToLower().Contains(search.ToLower()))
{
break;
}
if(j == (grd1.Columns.Count-1))
{
grd1.Rows[i].Visible = false;
}
}
}
}
感谢Mohd. Mukhtar!
我收到无法使与货币经理的头寸相关联的行不可见"的错误.
发生此特定错误的原因是,除非在运行时修改了绑定到数据源的行,否则我们不能对其进行修改,除非我们使用CurrencyManager对象通过添加grd1.CurrentCell = null来暂停对所有行的绑定.
Thanks Mohd. Mukhtar!
I get "Row associated with the currency manager''s position cannot be made invisible" error.
The reason for this particular error is that we cannot make modifications to a row at runtime which is bound to datasource, unless we suspened the binding on all rows using CurrencyManager object by adding grd1.CurrentCell = null.
public void btnSearch_Click(object sender, EventArgs e)
{
grd1.ClearSelection();
string search = txtSearch.Text;
for (int i = 0; i < grd1.Rows.Count - 1; i++)
{
for (int j = 0; j < grd1.Columns.Count; j++)
{
if(grd1.Rows[i].Cells[0].Value.ToString().ToLower().Contains(search.ToLower()))
{
break;
}
if(j == (grd1.Columns.Count-1))
{
//add this
grd1.CurrentCell = null;
grd1.Rows[i].Visible = false;
}
}
}
}
这篇关于如何将所选记录显示到datagridview的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文