过滤到C#中的gridview [英] filter to a gridview in c#

查看:91
本文介绍了过滤到C#中的gridview的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个带有列的gridview名称(批次名称,名字,时间表,开始日期,结束日期,实验室名称)

I Have a gridview having column names(batchname,firstname,schedule,startdate,enddate,labname)

我想向gridview添加一个过滤器.我可以在gridview标头的每一列下添加一个过滤器吗?还是应该在gridview之外使用它?在这里我正在gridview之外使用它,并触发了一个TextChanged事件.我已经完成了下面的代码,但是它不再起作用了.请提出解决方案.

I want to add a filter to a gridview. Can I add a filter bellow each column of the gridview header.Or Should i use it outside the gridview? Here I m using it outside the gridview.And fire a event of TextChanged.I have done following code but it doesnt work anymore.Please Suggest a solution.

我必须访问三个表中的数据才能在gridview中显示这三个表格格式如下,

I have to access data from three tables to show in gridview.The three table formats are as below,

BatchMaster(batchmasterid,usermasterid,labmasterid,batchname,batchcode,batchdays,startdate,enddate)

UserMaster(usermasterid,title,firstname,middlename,lastname,phoneno);

LabMaster(labmasterid,labname);

我在textbox更改事件上写了一条代码,这是在gridview之外进行的.

I write a code on textbox change event whitch is taken outside the gridview.

protected void txtSearch_TextChanged(object sender, EventArgs e)
       {
           SqlConnection con = new SqlConnection("Data
Source=.\\SQLEXPRESS;Initial Catalog=EMS;User ID=sa;Password=sa123");
           string query = "SELECT
batchmasterid,usermasterid,labmasterid,batchname,faculty,batchdays,startdate,enddate,LabMaster.labname
FROM BatchMaster,UserMaster Where batchname LIKE '%" + txtSearch.Text
+ "%'";
           SqlCommand cmd = new SqlCommand(query, con);
           SqlDataAdapter da = new SqlDataAdapter(cmd);
           DataSet ds = new DataSet();
           da.Fill(ds);
           gvHeadload.DataSource = ds;
           gvHeadload.DataBind();

      }

我也尝试了一个联接查询.但是,它不再起作用了.请尽快提出解决方案.谢谢您的建议.

also I have tried a Join Query. But it doesnt work anymore. Pls suggest a solution as early as possible. advanced thank u for ur suggation..

推荐答案

首先,您不应在每次用户键入内容时都创建sql连接.您应该这样做,例如在OnInitialize()之后.其次,您必须打开连接: con.Open(),获取数据,将其存储在数据集中,然后关闭它 con.Close().然后,您应该过滤已更改文本上的数据集.还有其他方法可以这样做,但是我认为这将是一个好的开始.

First thing, you should not create sql connection every time user types something. You should do it, for example after OnInitialize(). Second, you must open the connection: con.Open(), get data, store it in data set and close it con.Close(). Then you should filter the data set on text changed. There are also other ways of doing it, but I think this will be a good start.

这篇关于过滤到C#中的gridview的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆