我想做个根据自己选者条件的不同 来实现在gridview中显示相应的东西,选折的东西从下拉菜单中选出,gridview中一开始不显示,选完了之后,按确定按纽在选出符合条件的东西,怎么实现啊,哪位高人会啊,想要具体代码,帮帮小弟吧,愁死我了.直接的数据绑定我也会,但是那样直接显示出数据,不能在选者了,怎么办啊.急求高人
急求高人
急求高人
急求高人
急求高人

解决方案 »

  1.   


    DataTable dt =(DataTable) Session["YourGridViewDataSource"];
    DataView dv= dt.DefaultView ;
    dv.Rowfilter ="name =" +this.DropDownList1.SelectedItem.Text;
    this.GridView1.DataSource =dv;
    this.GridView1.DataBind();
      

  2.   

     前台你放个ddl<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="ObjectDataSource1" AppendDataBoundItems="true"
                DataTextField="SubjectName" DataValueField="Id" AutoPostBack="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged1">           
                <asp:ListItem Value="0">-=请选择=-</asp:ListItem>
            </asp:DropDownList>
            <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetAllSubjects"
                TypeName="EducationDegree.BLL.SubjectsManager"></asp:ObjectDataSource>
            
            
                <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" Width="100%">
                   </asp:GridView>
            protected void DropDownList1_SelectedIndexChanged1(object sender, EventArgs e)
            {
                UserInfo userInfo = Session["UserInfo"] as UserInfo;
                List<Expenses> listsSub = new List<Expenses>();
                List<Expenses> lists = ExpensesManager.GetListExpensesByUserId(userInfo.UserId);
                for (int i = 0; i < lists.Count; i++)
                {
                    Expenses expenses = lists[i];
                    if (expenses.SubjectId == Convert.ToInt32(this.DropDownList1.SelectedValue))
                    {
                        listsSub.Add(expenses);
                    }
                }
                this.GridView1.DataSourceID = null;
                this.GridView1.DataSource = listsSub;
                this.GridView1.DataBind();
            }我把我用到的一些代码给你切一下,你看看吧,
      

  3.   

    DataTable rt =(DataTable) Session["GridViewDataSource"];
    DataView rv= dt.DefaultView ;
    rv.Rowfilter ="name =" +this.DropDownList1.SelectedItem.Text;
    this.GridView1.DataSource =rv;
    this.GridView1.DataBind();
      

  4.   

    4楼对ADO.NET深有了解,方法不错
      

  5.   

    顶四楼  
    也可以写查询方法 绑定不同的数据源 也行
    也可以用JQuery 在table中实现模糊查询
    不符合条件的隐藏
      

  6.   

    string sql="select * from tb where 1=1";
    sql+=string.IsNullOrEmpty(DropDownList1.SelectedValue)?"":" and name ='"+ +this.DropDownList1.SelectedValue+"'"';
    查询绑定到gridview
      

  7.   

    hao ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      

  8.   

    不懂   我看了一些例子  不过都是用SQL做的 我想改成ORACLE的 但是不知道怎么改   你们讲的我也不是很明白 能不能整个详细的  只要能实现从数据库中取出符合下拉列表中规定条件的数就可以,哪怕就一条记录也行,当然前提是  在按了确定按扭后才显示出来,谁有详细的代码,让小第我参详参详
      

  9.   

    看不懂,举个简单的例子被,就这一段代码,小弟看不明白,直接把.ASPX的代码和相应的.CS代码贴出来呗.小弟不胜感激.
    还有我在网上COPY了一段代码,可是为什么显示DATABASE未处理呢
    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.SqlClient;
    using System.Data.OracleClient;
    public partial class _Default : System.Web.UI.Page 
    {
       OracleConnection conn;
      string strCon = "Data Source=(Test);Database=Test;Uid=shao;Pwd=shao";
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                ViewState["SortOrder"] = "身份证号码";
                ViewState["OrderDire"] = "ASC";
                bind();
            }
        }
        protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
        {
            string sPage = e.SortExpression;
            if (ViewState["SortOrder"].ToString() == sPage)
            {
                if (ViewState["OrderDire"].ToString() == "Desc")
                    ViewState["OrderDire"] = "ASC";
                else
                    ViewState["OrderDire"] = "Desc";
            }
            else
            {
                ViewState["SortOrder"] = e.SortExpression;
            }
            bind();
        }    public void bind()
        {
            string sqlstr = "select top 5 * from 飞狐工作室";
            conn = new OracleConnection(strCon);        OracleDataAdapter myda = new OracleDataAdapter(sqlstr, conn);
            DataSet myds = new DataSet();
            conn.Open();
            myda.Fill(myds, "飞狐工作室");
            DataView view = myds.Tables["飞狐工作室"].DefaultView;
            string sort = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"];
            view.Sort = sort;
            GridView2.DataSource = view;
            GridView2.DataBind();
            conn.Close();
        }
    }
    问题就出现在   conn = new OracleConnection(strCon);  中
      

  10.   

     Dim con As New Data.SqlClient.SqlConnection
            con.ConnectionString = "Data Source=(local);Initial Catalog='数 据库 名';
            Integrated Security=SSPI"
            con.Open()
            Dim da As New Data.SqlClient.SqlDataAdapter(“查找数据库中相应数据的查询语句”, con)
            Dim mm As New Data.DataTable
            da.Fill(mm)
            GridView1.DataSource =mm;
            GridView1.DataBind();