在GridView中,我添加了一个DropDownList,并设置为Template 模板列,然后我在模板上增加了 SQLDataSource ,进行数据绑定,现在我需要手工对SQLDataSource 的SQL 语句赋值和重新绑定,我如何可以找到这个SQLDataSource并赋值?

解决方案 »

  1.   

    不用SQLDataSource 吧
    <asp:TemplateField HeaderText="订单操作">
                                 <HeaderStyle Font-Bold="false" Width="80px" />
                                 <ItemStyle Width="80px" />
                    
                                     
                                            
                                 <ItemTemplate>
                                         <asp:DropDownList ID="ddlState" runat="server" AutoPostBack="true"  OnSelectedIndexChanged="ddlState_SelectedIndexChanged">
                                              <asp:ListItem Value="0">1</asp:ListItem>
                                              <asp:ListItem Value="1">2</asp:ListItem>
                                              <asp:ListItem Value="2">3</asp:ListItem>
                                              <asp:ListItem Value="3">4</asp:ListItem>
                  <asp:ListItemValue="4">5</asp:ListItem>                                            
                                              </asp:DropDownList>
                                 </ItemTemplate>
                             
                            </asp:TemplateField>protected void gvUserOrderdDetail_RowDataBound(object sender, GridViewRowEventArgs e)
            {
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    DataRowView rowItem = (DataRowView)e.Row.DataItem;
                    DropDownList ddlState = (DropDownList)e.Row.FindControl("ddlState");
                   
                    if (rowItem["ServiceState"] != DBNull.Value)
                    {
                        if ((rowItem["ServiceState"].ToString()).Equals("4"))
                        {
                            ddlState.Items.FindByValue(rowItem["ServiceState"].ToString()).Selected = true;
                            ddlState.Enabled = false;
                        }
                        else
                        {
                            ddlState.Items.FindByValue(rowItem["ServiceState"].ToString()).Selected = true;
                        }
                    } 
                }
            }
      

  2.   

    不一定要用sqldatasource 你直接把dataset赋给gridview更容易操作
      

  3.   

    可以在RowDataBind的时候找到这个DropDownList给他绑定
      

  4.   

    如果真是想找这个SqlDataSource,可以在RowDataBind的时候找到这个使用FindControl找到