大侠们
 
    新建一单据记录,主、明细文件在gridview多行下一次性修改保存,
因供应商多,就在前台中采用textbox旁变点击一个按钮弹出返回供应商ID,    默认gridview多行编辑中 每行有一列对应有供应商的未处理采购订单ddlOrder,GridView1_RowDataBound事件后台绑定;    期望供应商选择变化时候,GridView1各行对应的下拉采购订单ddlOrder只能显示该供应商的,如何触发重新绑定?
    

解决方案 »

  1.   

    当选择不同供应商时,写个方法去查询该供应商下的采购订单,
    然后重新绑定到ddlOrder不就行了吗?
    一个很简单的方法啊
      

  2.   

    textbox textchange触发postback,重新绑定就可以了。
      

  3.   

    我的麻烦:    1.弹出窗口选择 供应商 用Js返回到页面,赋值给TextBox后,textchange触发postback 好像无效?
        2.Gridview是多行编辑模式下,GridView1_RowDataBound事件中每行对应一个ddlOrder,供应商变化时候,则需要重新绑定 GridView1_RowDataBound
        
      

  4.   

    1.弹出窗口选择 供应商 用Js返回到页面,赋值给TextBox后,textchange触发postback 好像无效?
    异步回发你本身就要求它没有刷新了
    Gridview是多行编辑模式下,GridView1_RowDataBound事件中每行对应一个ddlOrder,供应商变化时候,则需要重新绑定 GridView1_RowDataBound
    重写GridView1_RowDataBound
      

  5.   

    期望供应商选择变化时候,GridView1各行对应的下拉采购订单ddlOrder只能显示该供应商的,如何触发重新绑定?
      DropDownList ddl = GridView1.Rows[0].Cells[14].FindControl("DropDownList2") as DropDownList;
            //string aa = ddl.SelectedItem.Text;        string bb = GridView1.Rows.Count.ToString();        //DropDownList ddlProvince = (DropDownList)sender;
            //DataListItem dl = (DataListItem)ddlProvince.Parent;
            //DataGridColumn dgc = (DataGridColumn)dl.Parent;        DropDownList drp = sender as DropDownList; // 触发事件的 DropDownList
            int a = Convert.ToInt32(drp.SelectedValue);
            GridViewRow row = drp.NamingContainer as GridViewRow; // GridView 当前行        
            // row.Style.Add(HtmlTextWriterStyle.BackgroundColor, drp.SelectedValue);
            int CurRow = row.RowIndex;
            string aa = GridView1.Rows[CurRow].Cells[a].Text;
            RegisterStartupScript("", "<script>alert('" + aa + "');</script>");
      

  6.   

    #6楼 现在要请指教的是:
         如何在JS返回赋值Textbox的供应商SuID后,如何再次GridView1_RowDataBound绑定?怎么触发后台这个事件?