Question

J'ai la configuration ci-dessous. Lorsque je clique sur le lien « Modifier » sur le CommandField, un événement RowEditing est congédié, mais la ligne ne me permet pas d'éditer; Plus précisément, le DropDownList ne semble pas.

Mon code semble se conformer à tous les exemples que je peux trouver.

Je manque probablement quelque chose de très basique, comme il me semble être la seule personne sur Internet ayant ce problème. Je suis désespérée pour une autre paire d'yeux.

Merci.

    <asp:GridView ID="grdvMachine1" runat="server" AutoGenerateColumns="False" CellSpacing="2"
    CssClass="GridViewFormat" GridLines="None" Width="500px"
    OnRowUpdating="grdvMachine1_RowUpdating" OnRowUpdated="grdvMachine1_RowUpdated"
    OnRowEditing="grdvMachine1_RowEditing" OnRowDeleting="grdvMachine1_RowDeleting">
    <PagerSettings Position="Top" />
    <FooterStyle BackColor="#CCCCCC" ForeColor="Black" />
    <Columns>
        <asp:BoundField DataField="Day Of Week" HeaderText="Day Of Week" SortExpression="Day Of Week" />
        <asp:TemplateField HeaderText="Package" SortExpression="Package">
            <EditItemTemplate>
                <asp:DropDownList ID="comboPackageNames"
                    runat="server"
                    DataSourceID="PackageNames"
                    DataTextField="PackageName"
                    DataValueField="PackageName"
                    SelectedValue='<%# Bind("Package") %>'>
                </asp:DropDownList>
                <asp:ObjectDataSource ID="PackageNames" runat="server" SelectMethod="GetSPPList"
                    TypeName="PCS.WebApp.DefaultSchedules">
                </asp:ObjectDataSource>
            </EditItemTemplate>
             <ItemTemplate>
                <asp:Label ID="Label1" runat="server" Text='<%# Eval("Package") %>' />
            </ItemTemplate>
       </asp:TemplateField>
        <asp:CommandField ShowEditButton="true" ShowDeleteButton="true"/>
    </Columns>
    <RowStyle BackColor="#EEEEEE" ForeColor="Black" HorizontalAlign="Center" VerticalAlign="Middle" />
    <EmptyDataTemplate>
        There is no schedule for the selected machine
    </EmptyDataTemplate>
    <SelectedRowStyle BackColor="#008A8C" Font-Bold="False" ForeColor="White" />
    <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
    <HeaderStyle BackColor="#000084" Font-Bold="True" ForeColor="White" HorizontalAlign="Center"
        VerticalAlign="Middle" />
    <AlternatingRowStyle BackColor="Gainsboro" />
</asp:GridView>
Était-ce utile?

La solution 3

Je n'ai pas eu un ObjectDataSource pour le GridView. Je peuplait dans le code-behind, mais apparemment vous ne pouvez pas le faire et utiliser un CommandField.

Autres conseils

Votre code semble OK pour moi aussi. Voici quelques choses qui pourraient aider votre dépannage:

  1. Essayez de remplacer le DropDownList de EditItemTemplate et ObjectDataSource avec un texte simple, puis voir si le texte apparaît lorsque vous cliquez sur Modifier.
  2. Essayez l'accrochage GridView jusqu'à un objet DataSource, et supprimer l'événement OnRowEditing de l'étiquette GridView. Ensuite, voir si les commutateurs GridView Modifier le mode OK.
  3. Essayez de déplacer l'ObjectDataSource en dehors du GridView. Je ne sais pas si cela fait une différence, mais je dois souvent le mien situé à l'extérieur.

Faites-nous savoir si cela change quelque chose pour vous.

Essayez de retirer vos ODS PackageNames à partir de votre GridView. Je ne sais pas pour vous, mais il est un peu étrange de l'avoir niché dans le GridView.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top