سؤال

لقد حصلت على الإعداد أدناه. عندما أضغط على رابط "تحرير" على Commandfield، يتم إطلاق حدث ROWEDITT، لكن الصف لا يسمح لي بالتحرير؛ على وجه التحديد، لا تظهر القائمة المنسدلة.

يبدو أن الشفوف الخاص بي يتوافق مع جميع الأمثلة التي يمكنني العثور عليها.

ربما أفتقد شيئا أساسيا للغاية، كما يبدو أنني الشخص الوحيد على الإنترنت هذه المشكلة. أنا يائسة لزوج آخر من العينين.

شكرا.

    <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>
هل كانت مفيدة؟

المحلول 3

لم يكن لدي enjorydatasource ل gridview. كنت ملء ذلك في الكود الخلف، ولكن يبدو أنك لا تستطيع القيام بذلك واستخدام كومانديفيلد.

نصائح أخرى

يبدو رمزك موافق لي أيضا. فيما يلي بعض الأشياء التي قد تساعد استكشاف الأخطاء وإصلاحها:

  1. حاول استبدال القائمة المنسدلة في EDIDITEMTEMPLATE و ObjectDataSource مع بعض النص البسيط، ثم معرفة ما إذا كان النص يظهر عند النقر فوق "تحرير".
  2. حاول تثبيت GRIDVIEW حتى كائن DataSource، وإزالة حدث OnrowEding من علامة GridView. ثم معرفة ما إذا كانت GridView تبديل لتحرير الوضع موافق.
  3. حاول نقل ObjectDataSource خارج GridView. لا أعرف إذا كان الأمر يحدث فرقا، لكنني عادة ما يكون لدي الألغام الموجودة في الخارج.

اسمحوا لنا أن نعرف ما إذا كان هذا يغير أي شيء من أجلك.

حاول إزالة ODS Packagenames من داخل GridView الخاص بك. لا أعرف بالتأكيد، لكن من الغريب بعض الشيء أن يكون لها متداخلة داخل GridView.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top