大家好,我是新手,有个问题请教大家。我这里有一个datagridview控件绑定了一个bindingsource数据源,这个bindingsource返回的是Record表里面的所有记录,页面上有一个combobox控件,combobox关联的是Record表里面的operater字段。现在我想根据用户在combobox中选择的内容区更新数据集,比如说:combobox选择的值为“张三”于是让datagridview里面显示Record表里面operater值为张三的记录。我的代码如下:
1------private void Form_record_Load(object sender, EventArgs e)
{
// TODO: 这行代码将数据加载到表“jinshiDataSet.Record”中。您可以根据需要移动或移除它。
this.recordTableAdapter.Fill(this.jinshiDataSet.Record);
}
2------ 点击按combobox所选内容查询时:
string strDetecter = this.toolStripComboBox_detecter.Text;
SqlConnection con = dc.SqlConBind();
con.Open(); SqlDataAdapter sda = new SqlDataAdapter("select * from Record ", con);//where operater=strDetecter", con);
DataTable recordTable = new DataTable();
sda.Fill(recordTable);
this.recordBindingSource.DataSource = recordTable; this.recordBindingSource.Filter = "operater='strDetecter'";
this.recordBindingSource .Sort = "time DESC, recordId ASC";
con.Close(); dataGridView1.DataSource = this.recordBindingSource;运行不提示错误但是datagridview里面没有任何数据显示,不知道是什么原因造成的,大家帮忙解决一下问题,小弟万分感激!
1------private void Form_record_Load(object sender, EventArgs e)
{
// TODO: 这行代码将数据加载到表“jinshiDataSet.Record”中。您可以根据需要移动或移除它。
this.recordTableAdapter.Fill(this.jinshiDataSet.Record);
}
2------ 点击按combobox所选内容查询时:
string strDetecter = this.toolStripComboBox_detecter.Text;
SqlConnection con = dc.SqlConBind();
con.Open(); SqlDataAdapter sda = new SqlDataAdapter("select * from Record ", con);//where operater=strDetecter", con);
DataTable recordTable = new DataTable();
sda.Fill(recordTable);
this.recordBindingSource.DataSource = recordTable; this.recordBindingSource.Filter = "operater='strDetecter'";
this.recordBindingSource .Sort = "time DESC, recordId ASC";
con.Close(); dataGridView1.DataSource = this.recordBindingSource;运行不提示错误但是datagridview里面没有任何数据显示,不知道是什么原因造成的,大家帮忙解决一下问题,小弟万分感激!
解决方案 »
- 3级列表,已知一级ID,查询出2.3级列表
- ASP.net打印WORD文档问题?
- richtextbox如何从数据库读取多条记录显示出来,并实时更新,类似于聊天窗口
- 如何让用户在正常使用软件功能的同时,可以自动升级
- 为什么添加属性的时候使用DefaultValue无法设定初始值????
- 怎样把MSSQL表中相同字段的数相加
- 更新组件名到client端的问题
- 用数据库生成多级TreeView菜单的问题
- c#调用c++ 封装的dll 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
- 谁可以给我举一个upd多路广播的例子?
- c# 打开vc编译的exe程序及其特定文件
- VS2008 c# treeview 显示本地磁盘所有文件
弄两个数据源 一个combox 一个view 启用combox刷新
view的控件数据源根据combox控件传值来做查询就可以了
现在我把上面程序中的this.recordBindingSource.Filter = "operater='strDetecter'";
换成this.recordBindingSource.Filter = "operater='张三'"; 就可以查出相应的记录了,可知这句话有问题,是不是用参数不是这么用呀?大哥能给我讲一下吗?谢谢
应该是
"operater='" + strDetecter + "'";
你直接获取DataGridView的DataTable
然后根据DataTable.Select("列名=值","");
就可以了啊
这样你是直接获取的
或直接在
string sql="select * from Record where 1=1"'
if(string.IsNullOrEmpty(strDetecter))
sql+="";
改为this.recordBindingSource.Filter = "operater='" & strDetecter & "'";
就OK