Gridview根据Dropdownlist的值筛选,能否让DropDownList的默认值使GridView显示全部 本帖最后由 kongku 于 2009-09-21 13:15:21 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 默认值的话,令GridView的Visible为false不就什么数据都看不见了吗? DropDownList1.Itmes.Add("--");if(DropDownList1.SelectedValue.ToString()=="--" ){//不操作 就不会显示的}else{ //自己随便发挥} 就是要根据DDL所选的内容显示gridview的数据?获得ddl.seletevalue的值,之后再拼select语句就可以了啊。。 当我选择下拉列表的默认值的时候,不显示任何数据。这样的话 你就做个判断就是了 if(=="你的默认值")数据不绑定else{绑定} 不好意思,让大家误会了,我是想让gridview显示全部数据。 protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { if (this.DropDownList1.SelectedValue == "") { this.SqlDataSource2.SelectCommand = "SELECT [Id], [Title], [Authorized], [CreateDateTime] FROM [Review]"; this.GridView1.DataSourceID = "SqlDataSource2"; } }为什么,我这里的代码不能让gridview显示全部数据? 最后还需要再GridView1.databind()一下吧 SelectCommand是可以动态修改的,可以在数据源的selecting中动态修改。我不用sqldatasource,所以无法给出demo。 我把代码改成这样 protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { if (this.DropDownList1.SelectedValue == "") { this.SqlDataSource2.SelectCommand = "SELECT [Id], [Title], [Authorized], [CreateDateTime] FROM [Review]"; this.GridView1.DataSourceID = "SqlDataSource2"; } }编译器错误消息: CS1061: “System.Web.UI.WebControls.GridView”不包含“databind”的定义,并且找不到可接受类型为“System.Web.UI.WebControls.GridView”的第一个参数的扩展方法“databind”(是否缺少 using 指令或程序集引用?) 上面的代码,我还没有把GridView1.databind()加上去。就是this.SqlDataSource2.SelectCommand = "SELECT [Id], [Title], [Authorized], [CreateDateTime] FROM [Review]"; this.GridView1.DataSourceID = "SqlDataSource2"; GridView1.databind(); 改回this.GridView1.DataBind();但还是不能实现显示全部。 你用的SqlDataSource控件,你在里面设定的Select语句是什么样,那出来的就是什么样,你看下你的SqlDataSource2控件里面的Select语句是写成什么样的。。PS:还是用DataSet、DataTable这些比较灵活,用SqlDataSource控件的话,可能你要把你的GridView根据不同的情况绑定到多个SqlDataSource控件中,,到时候维护起来会比较麻烦。。 <asp:ListItem Value="-1">显示全部</asp:ListItem>不能大于0或是其它字符.我这里设置为-1. protected void Page_Load(object sender, EventArgs e) { if (this.DropDownList1.SelectedValue == "-1") { this.LinqDataSource1.Where= null; } }这里就可以默认情况下,显示全部.还要设置这个,就可以在选中后,显示全部. protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { if (this.DropDownList1.SelectedValue == "-1") { this.LinqDataSource1.Where = null; } } 我看的书是<asp.net 3.5 入门经典> 看你的代码应该就是这书上的,因为我也是在学这本,然后同样想到这个问题,上百度一查,到了这里,没找到解决办法,后来,我自己乱写搞出来的,运行过,没问题. Configuration.LazyLoadingEnabled = false 这句话为什么是错的? 高分求用.net 实现http长连接的例子. DropDownList年月日三下拉框联动 打印的问题 怎么设计才能使系统有比较好的扩展性 急死,写了一个简单的后台发布页面,怎么填写的文字保存到数据库后全部变成乱码了?感谢 大家谈谈页面计数器的记数逻辑怎么设置比较好 请问?我从网站上下载的asp.net论坛源代码,放到我的网站上作为论坛,是否构成侵权,是否触犯法律,要负法律责任? 高手请帮忙 高手请进!!!! 关于jscript问题 高分急求懂google map api编程高手指点
DropDownList1.Itmes.Add("--");
if(DropDownList1.SelectedValue.ToString()=="--" )
{
//不操作 就不会显示的
}
else
{
//自己随便发挥
}
获得ddl.seletevalue的值,之后再拼select语句就可以了啊。。
这样的话 你就做个判断就是了
if(=="你的默认值")
数据不绑定
else
{绑定}
{
if (this.DropDownList1.SelectedValue == "")
{
this.SqlDataSource2.SelectCommand = "SELECT [Id], [Title], [Authorized], [CreateDateTime] FROM [Review]";
this.GridView1.DataSourceID = "SqlDataSource2";
}
}
为什么,我这里的代码不能让gridview显示全部数据?
我把代码改成这样
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.DropDownList1.SelectedValue == "")
{
this.SqlDataSource2.SelectCommand = "SELECT [Id], [Title], [Authorized], [CreateDateTime] FROM [Review]";
this.GridView1.DataSourceID = "SqlDataSource2";
}
}编译器错误消息: CS1061: “System.Web.UI.WebControls.GridView”不包含“databind”的定义,并且找不到可接受类型为“System.Web.UI.WebControls.GridView”的第一个参数的扩展方法“databind”(是否缺少 using 指令或程序集引用?)
this.SqlDataSource2.SelectCommand = "SELECT [Id], [Title], [Authorized], [CreateDateTime] FROM [Review]";
this.GridView1.DataSourceID = "SqlDataSource2";
GridView1.databind();
但还是不能实现显示全部。
protected void Page_Load(object sender, EventArgs e)
{
if (this.DropDownList1.SelectedValue == "-1")
{
this.LinqDataSource1.Where= null;
}
}
这里就可以默认情况下,显示全部.
还要设置这个,就可以在选中后,显示全部. protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{ if (this.DropDownList1.SelectedValue == "-1")
{
this.LinqDataSource1.Where = null;
}
}