Ciao a tutti ho un datagrid dove modifico i campi della lista con un edit template.
Però mi da un errore su un campo di dipo dropdown. Ma non capisco il perchè.
Ecco il codice che uso:
Ecco quello vbcodice:<asp:DataGrid id="lista" runat="server" Width="500px" OnCancelCommand="CancelCommand" OnUpdateCommand="UpdateCommand" OnEditCommand="EditCommand" ItemStyle-CssClass="testo" HeaderStyle-CssClass="titoletti" BorderStyle="None" AutoGenerateColumns="False" DataKeyField="id_categoria_rubrica"> <Columns> <asp:TemplateColumn> <HeaderTemplate> Riferimento </HeaderTemplate> <ItemTemplate> <%#Container.DataItem("riferimento")%> </ItemTemplate> <EditItemTemplate> <asp:DropDownList id="Area" runat="server" CssClass="input"> <asp:ListItem>Magazine</asp:ListItem> <asp:ListItem>Community</asp:ListItem> <asp:ListItem>ByNight</asp:ListItem> </asp:DropDownList> </EditItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn> <HeaderTemplate> Categoria </HeaderTemplate> <ItemTemplate> <%#Container.DataItem("categoria_rubrica")%> </ItemTemplate> <EditItemTemplate> <asp:TextBox ID="txtUsername" Width="60" Runat="server" CssClass="input" Text='<%#Container.DataItem("username")%>'/> </EditItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn> <HeaderTemplate> Categoria </HeaderTemplate> <ItemTemplate> <%#Container.DataItem("categoria_rubrica")%> </ItemTemplate> <EditItemTemplate> <asp:TextBox ID="txtPasswd" Width="60" Runat="server" CssClass="input" Text='<%#Container.DataItem("passwd")%>'/> </EditItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn> <HeaderTemplate> Categoria </HeaderTemplate> <ItemTemplate> <%#Container.DataItem("riferimento")%> </ItemTemplate> <EditItemTemplate> <asp:TextBox ID="txtRif" Width="80" Runat="server" CssClass="input" Text='<%#Container.DataItem("riferimento")%>'/> </EditItemTemplate> </asp:TemplateColumn> <asp:EditCommandColumn ButtonType="LinkButton" UpdateText="Modifica" CancelText="Elimina" EditText="Edit!" ></asp:EditCommandColumn> </Columns> </asp:DataGrid>
grazie a tutti per l'aiutocodice:Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load connetti() If Not Page.IsPostBack Then 'Try strsql = "Select Rubricareporter.id_rubricante, Rubricareporter.riferimento, Categorierubriche.id_categoria_rubrica, Categorierubriche.categoria_rubrica From Categorierubriche, Rubricareporter where Rubricareporter.id_rubricante=Categorierubriche.id_rubricante" cmdSql = New OdbcCommand(strsql, conn) rs = cmdSql.ExecuteReader() lista.DataSource = rs lista.DataBind() rs.Close() 'Catch ex As Exception ' messaggio.Text = "Errore: " & ex.Message() 'Finally conn.Close() 'End Try End If End Sub Protected Sub EditCommand(ByVal a As Object, ByVal e As DataGridCommandEventArgs) 'Dim i As Integer Dim idCat As String idCat = lista.DataKeys(e.Item.ItemIndex) lista.EditItemIndex = e.Item.ItemIndex BindDataGrid() 'Dim drVis As DropDownList = DirectCast(dgi.FindControl("drVisibile"), DropDownList) Dim dgi As DataGridItem = lista.Items(lista.EditItemIndex) 'L ERRORE è QUI!!!!! Dim Area As DropDownList = DirectCast(dgi.FindControl("Area"), DropDownList) connetti() Try 'strsql = "Select * From Admin" ' cmdSql = New OdbcCommand(strsql, conn) 'rs = cmdSql.ExecuteReader() 'Area.DataSource = rs 'Area.DataTextField = "area" 'Area.DataValueField = "area" 'Area.DataBind() 'rs.Close() Catch ex As Exception messaggio.Text = "Errore: " & ex.Message() Finally conn.Close() End Try End Sub

Rispondi quotando