GridView中有OrderID,CustomerID,OrderDate,Freight 这五列,在CustomerID列中用了DropDownList1控件,
GridView中datasource的SQL语句是: select orderid,a.CustomerID,b.companyName,Orderdate,Freight from orders a 
inner join customers b on a.customerid=b.customerid;   DropDownList1的datasource是来自customers中的
CustomerID和companyName。(所用数据库是Northwind:)请帮助解决的问题:
1、在gridview中显示数据时,cutomerID列显示的是CompanyName而不是CustomerID
2、在保存时CustomerID列是保存CustomerID而不是保存CompanyName的值麻烦大侠给代码详细代码看看,由于是刚开始学习asp.net.
xiexie

解决方案 »

  1.   


        protected void gdvAdd_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            SupplierBLL subll = new SupplierBLL();
            string mname = e.Row.Cells[0].Text;
            DataTable dt = subll.GetSuppliersByM(mname);
            if (((DropDownList)e.Row.FindControl("ddlgdvsu")) != null)
            {
                DropDownList ddl = (DropDownList)e.Row.FindControl("ddlgdvsu");            ddl.DataSource = dt;
                ddl.DataTextField = "su_Name";
                ddl.DataValueField = "su_ID";
                ddl.DataBind();
                for (int i = 0; i < ddl.Items.Count; i++)
                {
                    ddl.Items[i].Attributes.Add("title", ddl.Items[i].Text);
                }
                DataRowView drv = (DataRowView)e.Row.DataItem;
                ddl.SelectedValue = drv.Row["su_ID"].ToString();
            }    }以上是显示
    保存的话,我是先将处理的数据存一个临时表里的,这个表里存的是CustiomID,对应的就是DropDownList的value