Не могу "Включить редактирование" в моем виде сетки - PullRequest
1 голос
/ 15 марта 2010

Я пытаюсь подключить свой gridview к LinqDataSource для выбора, обновления, вставки и удаления записей. Я могу войти в режим редактирования и выйти из режима редактирования, но когда я нажимаю обновить, ничего не происходит.

В Интернете я нашел несколько вещей, в которых говорится, чтобы установить флажок «Включить редактирование» в смарт-теге gridview, но когда я вхожу в смарт-тег, появляются только следующие флажки: Включить подкачку страниц, Включить сортировку и Включить выбор , Другие не появляются. Кто-нибудь видит проблему с тем, что я делаю ниже?

  <asp:GridView   ID="gv_Personnel" 
                    runat="server" 
                    OnRowDataBound="gv_Personnel_DataBind"
                    AutoGenerateColumns="False" 
                    ShowFooter="True" 
                    DataKeyNames="BudgetLineID"
                    AutoGenerateEditButton="True" 
                    AutoGenerateDeleteButton="True" 
                    DataSourceID="lds_Personnel"
                    >
        <Columns>                 
            <asp:BoundField HeaderText="Level of Staff" DataField="LineDescription" />
            <asp:BoundField HeaderText="Hrs/Units requested" DataField="NumberOfUnits" />
            <asp:BoundField HeaderText="Hrs/Units of Applicant Cost Share" DataField="" NullDisplayText="0" />
            <asp:BoundField HeaderText="Hrs/Units of Partner Cost Share" DataField="" NullDisplayText="0" />
            <asp:BoundField FooterStyle-Font-Bold="true" 
                FooterText="TOTAL PERSONNEL SERVICES:" HeaderText="Rate" 
                DataFormatString="{0:C}" DataField="UnitPrice" >
            <FooterStyle Font-Bold="True" />
            </asp:BoundField>
            <asp:TemplateField HeaderText="Amount Requested" 
                ItemStyle-HorizontalAlign="Right" FooterStyle-HorizontalAlign="Right"  
                FooterStyle-BorderWidth="2" FooterStyle-Font-Bold="true">
                <FooterStyle BorderWidth="2px" Font-Bold="True" HorizontalAlign="Right" />
                <ItemStyle HorizontalAlign="Right" />
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Applicant Cost Share" 
                ItemStyle-HorizontalAlign="Right" FooterStyle-HorizontalAlign="Right" 
                FooterStyle-BorderWidth="2" FooterStyle-Font-Bold="true">
                <FooterStyle BorderWidth="2px" Font-Bold="True" HorizontalAlign="Right" />
                <ItemStyle HorizontalAlign="Right" />
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Partner Cost Share" 
                ItemStyle-HorizontalAlign="Right" FooterStyle-HorizontalAlign="Right" 
                FooterStyle-BorderWidth="2" FooterStyle-Font-Bold="true">
                <FooterStyle BorderWidth="2px" Font-Bold="True" HorizontalAlign="Right" />
                <ItemStyle HorizontalAlign="Right" />
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Total Projet Cost" 
                ItemStyle-HorizontalAlign="Right" FooterStyle-HorizontalAlign="Right" 
                FooterStyle-BorderWidth="2" FooterStyle-Font-Bold="true">
                <FooterStyle BorderWidth="2px" Font-Bold="True" HorizontalAlign="Right" />
                <ItemStyle HorizontalAlign="Right" />
            </asp:TemplateField>
        </Columns>
    </asp:GridView>
    <asp:LinqDataSource ID="lds_Personnel" runat="server" 
        ContextTypeName="nrm.FRGPproposal.FrgpropDataContext" 
        Select="new (BudgetLineID, UnitPrice, LineDescription, NumberOfUnits)" 
        TableName="BudgetLines" 
        Where="ProposalID == @PropNumber &amp;&amp; BudgetLineTypeCode == @BudgetLineTypeCode" 
        EnableDelete="True" EnableInsert="True" EnableUpdate="True">
        <WhereParameters>
            <asp:SessionParameter Name="PropNumber" SessionField="PropNumber" Type="Int32" />
            <asp:Parameter DefaultValue="S" Name="BudgetLineTypeCode" Type="Char" />
        </WhereParameters>
    </asp:LinqDataSource>

Ответы [ 2 ]

1 голос
/ 15 марта 2010

Вы пробовали без использования анонимных типов? В коде вы не можете обновить в ближайшее время. типы в базе данных ...

0 голосов
/ 15 марта 2010

Похоже, это было вызвано тем, что у меня установлено значение Select на моем LinqDataSoruce. Смотрите обновленную LDS ниже:

<asp:LinqDataSource ID="lds_Personnel" runat="server" 
    ContextTypeName="nrm.FRGPproposal.FrgpropDataContext" 
    TableName="BudgetLines" 
    Where="ProposalID == @PropNumber &amp;&amp; BudgetLineTypeCode == @BudgetLineTypeCode" 
    EnableDelete="True" EnableInsert="True" EnableUpdate="True">
    <WhereParameters>
        <asp:SessionParameter Name="PropNumber" SessionField="PropNumber" Type="Int32" />
        <asp:Parameter DefaultValue="S" Name="BudgetLineTypeCode" Type="Char" />
    </WhereParameters>
</asp:LinqDataSource>
...