2010-11-18 85 views
0

我有網格視圖下拉列表中的問題,它不會觸發更改的選擇索引。當行數據綁定時,我爲下拉列表綁定數據。但是當我選擇數據時,它不會觸發更改的選擇索引。另一個下拉列表中的硬編碼項目列表引發了選擇索引改變。有關這個問題的任何想法,請幫助。下面是後面的代碼和前端代碼。在GridView中的dropdownlist不火選擇索引已更改

   <ItemTemplate> 
        <asp:DropDownList ID="ddlItem" runat="server" Width="80%" AutoPostBack="true" OnSelectedIndexChanged="ddlPrice_SelectedIndexChanged"></asp:DropDownList> 
       </ItemTemplate> 



       <ItemTemplate> 
        <asp:DropDownList runat="server" ID="ddl" AutoPostBack="true" OnSelectedIndexChanged="ddl_SelectedIndexChanged"> 
         <asp:ListItem Text="Compliant" Value="0" /> 
           <asp:ListItem Text="Other Than Serious" Value="1" /> 
           <asp:ListItem Text="Serious" Value="2" /> 
           <asp:ListItem Text="Critical" Value="3" /> 

        </asp:DropDownList> 
       </ItemTemplate> 

保護小組的Page_Load(BYVAL發件人爲對象,BYVALË作爲System.EventArgs)把手Me.Load

Dim oCategoryDetails As New CategoryDetails 

    If Not IsPostBack Then 
     gdCat.DataSource = oCat.Read 
     gdCat.DataBind() 
    End If 

結束子

Dim ddl As DropDownList 
     ddl = DirectCast(e.Row.FindControl("ddlItem"), DropDownList) 
     If Not ddl Is Nothing Then 
      If oDS.Tables.Item(0).Rows.Count > 0 Then 
       ddl.DataSource = oDS 
       ddl.DataTextField = "ItemName" 
       ddl.DataValueField = "ItemPrice" 
       ddl.DataBind() 
      Else 
       ddl.Visible = False 
      End If 

     End If 

     If Me.IsPostBack Then 

      If e.Row.RowType = DataControlRowType.DataRow Then 
       AddHandler ddl.SelectedIndexChanged, AddressOf ddlPrice_SelectedIndexChanged 
      End If 
     End If 

結束子

回答

0

爲什麼RowDataBound中是否添加了If me.IsPostBack的零件?只綁定它時If Not IsPostBack ? 通常,在aspx標記中添加OnSelectedIndexChanged="ddlPrice_SelectedIndexChanged"就足夠了。但是您可以嘗試在每個回傳中添加RowCreated中的處理程序:

Private Sub gdCat_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gdCat.RowCreated 
    Select Case e.Row.RowType 
     Case DataControlRowType.DataRow 
      Dim ddlItem as DropDownList = DirectCast(e.Row.FindControl("ddlItem"),DropDownList) 
      AddHandler ddlItem.SelectedIndexChanged, AddressOf ddlPrice_SelectedIndexChanged 
    End Select 
End Sub 
相關問題