日期:2014-05-19  浏览次数:20423 次

sqldatasource控件多个查询条件
1、使用sqldatasource的起因:本来是在.cs文件里面写好sql语句,sql语句的输入参数抓取textbox,dropdownlistbox的值取得,然后查询,返回一个datatable,再把这个datatable绑定到一个gridview上。gridview自动调整大小也适应页面宽度,有一次有个表字段特别多,gridview还是全挤在页面上,没有水平滚动条,这样页面就不好看了。可以修改某个列的宽度,但是这个列宽了,别的列又窄了。总之都挤在一个页面上。

2、后来发现把gridview绑定到sqldatasource(在配置sqldatasource的sql语句是写死,没有参数)上后,然后设置每个列的属性,这样每条录还是占一行,页面下方有水平滚动条。

此问题解决了,但是又出现了新的问题。有些查询,要根据页面上   几个输入框的值去查询,比如说   一个texebox   是性别,一个textbox是科室,这两个textbox既可以单独查,又可以组合查。

出现的问题是
1、当把这两个textbox的postback都设置为false时候,随便输入什么页面都没反应
2、当把这两个textbox的postback都设置为true时候,输入一个textbox后,页面就查询刷新一下,再输入第二个textbox后,页面又刷新一次,这时候才出现正确结果
3、我使用odbc连的数据库,在sql语句是这样写的   select   *   from   employee   where   (sex   =   ?   or   ?   is   null)   and   (dept   =   ?   or   ?   is   null),出现情况是   输入性别   男   后,页面刷新,不出现结果(我想要的是把所有男的都列出来),然后再输入一个科室后,页面刷新,出现的结果是把这个科室的男都列出来了。

有什么方法能让页面不刷新,等把需要查询的几个条件都写好后,再让sqldatasource查询呢?

------解决方案--------------------
加一个按钮点击刷新一下就可以了
我都是这样作的= =
------解决方案--------------------
把他们放到updatepanel 中....ajax控件

还有你可以把sqldatasource 绑定到其它的control控件上啊..或者其它的//