| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2591 人关注过本帖
标题:问一个DROPDOWNLIST的问题,实现下拉进行过滤
只看楼主 加入收藏
scindy
Rank: 1
等 级:新手上路
威 望:1
帖 子:591
专家分:4
注 册:2006-10-23
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:11 
问一个DROPDOWNLIST的问题,实现下拉进行过滤
我的GRIDVIEW里面有一个DROPDOWNLIST,是在HEADER里面,我想实现通过下拉选择进行过滤。以下是源码:

            //绑定商品名称
            DropDownList ddlname = (DropDownList)GridView1.HeaderRow.FindControl("ddlstkname");
            if (ddlname != null)
            {
                    string sql2 = "select ID,stkname from tblstock order by id asc";
                    SqlCommand cmd2 = new SqlCommand(sql2, conn);
                    SqlDataAdapter adp2 = new SqlDataAdapter(cmd2);
                    DataSet ds2 = new DataSet();
                    adp2.Fill(ds2, "tblstock2");
                    ddlname.DataSource = ds2.Tables["tblstock2"].DefaultView;
                    ddlname.DataTextField = "stkname";
                    ddlname.DataValueField = "ID";
                    ddlname.DataBind();
                    ddlname.Items.Insert(0, new ListItem("商品过滤", "0"));
                    //ddlname.SelectedIndex = 0;
            }

现在实现的是:选择数据库里面的数据都能实现,下拉哪个GRIDVIEW就显示哪个。
问题是:当我选择“商品过滤”时,没有反应,ddlstkname 的 AutoPostBack 为TRUE,请问如何实现 ?
搜索更多相关主题的帖子: DROPDOWNLIST 
2009-10-28 10:02
scindy
Rank: 1
等 级:新手上路
威 望:1
帖 子:591
专家分:4
注 册:2006-10-23
收藏
得分:0 
我想实现选择“商品过滤”后,也就是楼上说的“请选择”后,显示所有的数据,包括DROPDOWNLIST和GRIDVIEW的~~~

怎么没人理啊`~`




淘宝新到货: http://shop36082390. 电脑及配件/杀毒U盘/移动硬盘/减肥产品/切苹果器/剥蒜器/个性烟灰缸/装饰彩灯/雨伞/女包//手机座/极品铁观间茶叶/五层布衣柜/三洋/日立投影机
QQ:410243392 (常用)
2009-10-28 12:48
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:10 
ddlname.Items.Insert(0, new ListItem("商品过滤", "0"));
你这里虽然加了这一项,  但后面用这项来做为条件,确定可以查询到数据吗?

你那个下拉框的选择事件怎么写的?
代码发出来看看

飘过~~
2009-10-28 13:50
scindy
Rank: 1
等 级:新手上路
威 望:1
帖 子:591
专家分:4
注 册:2006-10-23
收藏
得分:0 
protected void ddlstkname_SelectedIndexChanged(object sender, EventArgs e)
    {
        DropDownList DDLN = (DropDownList)GridView1.HeaderRow.FindControl("ddlstkname");
        if (DDLN != null)
        {
            if (DDLN.SelectedIndex == 0)
            {
                string strsql = "select * from tblstock";
                SqlCommand cmd = new SqlCommand(strsql, conn);
                SqlDataAdapter adp = new SqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                adp.Fill(ds, "tblstock");
                GridView1.DataSource = ds.Tables["tblstock"].DefaultView;
                GridView1.DataBind();
                //Label3.Text = DDLN.SelectedValue + " " + DDLN.SelectedIndex;
            }
            else
            {
                string strsql = "select * from tblstock where id=" + DDLN.SelectedValue;
                SqlCommand cmd = new SqlCommand(strsql, conn);
                SqlDataAdapter adp = new SqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                adp.Fill(ds, "tblstock");
                GridView1.DataSource = ds.Tables["tblstock"].DefaultView;
                GridView1.DataBind();
                //Label3.Text = DDLN.SelectedValue + " " + DDLN.SelectedIndex;
            }
        }


淘宝新到货: http://shop36082390. 电脑及配件/杀毒U盘/移动硬盘/减肥产品/切苹果器/剥蒜器/个性烟灰缸/装饰彩灯/雨伞/女包//手机座/极品铁观间茶叶/五层布衣柜/三洋/日立投影机
QQ:410243392 (常用)
2009-10-28 14:17
scindy
Rank: 1
等 级:新手上路
威 望:1
帖 子:591
专家分:4
注 册:2006-10-23
收藏
得分:0 
另外,我的GRIDVIEW是在 UpdatePanel 里面,采用无刷新的,是不是和这个有关呢?

淘宝新到货: http://shop36082390. 电脑及配件/杀毒U盘/移动硬盘/减肥产品/切苹果器/剥蒜器/个性烟灰缸/装饰彩灯/雨伞/女包//手机座/极品铁观间茶叶/五层布衣柜/三洋/日立投影机
QQ:410243392 (常用)
2009-10-28 14:18
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
和UpdatePanel 无关,你的代码好冗余啊.

其实我有些不明白,你为什么不把那下拉框放到GridView外面?


你的
if (DDLN.SelectedIndex == 0)  
{
}中处理的东西,和你在一楼写的似乎没多大区别嘛,数据加载都一样,所以不会变的.


飘过~~
2009-10-28 18:02
scindy
Rank: 1
等 级:新手上路
威 望:1
帖 子:591
专家分:4
注 册:2006-10-23
收藏
得分:0 
以下是引用bygg在2009-10-28 18:02:07的发言:

和UpdatePanel 无关,你的代码好冗余啊.

其实我有些不明白,你为什么不把那下拉框放到GridView外面?


你的
if (DDLN.SelectedIndex == 0)  
{
}中处理的东西,和你在一楼写的似乎没多大区别嘛,数据加载都一样,所以不会 ...
一楼的代码是下拉框的绑定,只绑定商品名称和ID,下面的代码是根据下拉框为条件绑定GRIDVIEW的。
至于下拉框放在GRIDVIEW里面,这是一个报表,我想实现WINFORM的样式,可以直接过滤,这个报表里还有好几列都要实现这种样式,方便客户选择。

能实现 点击下拉框新加的“商品选择”来实现列出GRIDVIEW绑定的所有内容吗?

谢谢大家了~~~~





淘宝新到货: http://shop36082390. 电脑及配件/杀毒U盘/移动硬盘/减肥产品/切苹果器/剥蒜器/个性烟灰缸/装饰彩灯/雨伞/女包//手机座/极品铁观间茶叶/五层布衣柜/三洋/日立投影机
QQ:410243392 (常用)
2009-10-28 18:22
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
哦,明白了.
其实你大可不必用GridView,我们都是直接用的table,呵呵,直接写上去就行了...

你这样写,每一次加载,下拉框中的数据还会保持选定前的值吗?似乎.....

飘过~~
2009-10-28 20:43
scindy
Rank: 1
等 级:新手上路
威 望:1
帖 子:591
专家分:4
注 册:2006-10-23
收藏
得分:0 
再一次加载的时候下拉框显示无所谓,只要下拉后GRIDVIEW里面能显示出正确的数据就行了`~

直接用table性能当然会好一些,但是里面有一些控制就不好写了,比如根据条件整行变颜色,编辑,删除,全选,隐藏列,排序等~~这些我都实现了。

我问的这个问题怎么解决呢?



淘宝新到货: http://shop36082390. 电脑及配件/杀毒U盘/移动硬盘/减肥产品/切苹果器/剥蒜器/个性烟灰缸/装饰彩灯/雨伞/女包//手机座/极品铁观间茶叶/五层布衣柜/三洋/日立投影机
QQ:410243392 (常用)
2009-10-29 10:03
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
再一次加载的时候下拉框显示无所谓,只要下拉后GRIDVIEW里面能显示出正确的数据就行了`~

=============================
    再一次加载,你的下拉框的值不也得重新刷新一次吗?你之前选择的值都没了,你还想做什么?

飘过~~
2009-10-29 12:39
快速回复:问一个DROPDOWNLIST的问题,实现下拉进行过滤
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017871 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved