0

こんにちは、ショッピング アプリケーションを作成しています。ショッピング カートには、コード ビハインドから追加された列と、データベースには存在しないが将来使用したいテンプレート フィールドの列があります。

これは私のショッピングカートです

コード:

<asp:GridView ID="GridViewProduct" runat="server" CellPadding="5" CssClass="grid"
    ForeColor="#333333" OnRowCreated="GridViewProduct_RowCreated" OnRowDataBound="GridViewProduct_RowDataBound"
    ShowFooter="True" CellSpacing="1" 
    onrowupdating="GridViewProduct_RowUpdating">
    <AlternatingRowStyle BackColor="White" />
    <Columns>
        <asp:ButtonField Text="Remove From Cart" CommandName="RemoveFromCart" />
        <asp:TemplateField HeaderText="Quantity">
            <ItemTemplate>
                <asp:TextBox ID="TextBoxQuantity" runat="server" Width="50px">1</asp:TextBox><br />
                <asp:LinkButton ID="LinkButtonEditQuantity" runat="server"  CommandName="EditTextBox">edit</asp:LinkButton>
            </ItemTemplate>
            <EditItemTemplate>
                <asp:LinkButton ID="LinkButtonUpdate" runat="server">Update</asp:LinkButton>
            </EditItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Total Price">
            <ItemTemplate>
                <asp:Label ID="LabelTotalPrice" runat="server" Text="0"></asp:Label>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
    <EditRowStyle BackColor="#7C6F57" />
    <FooterStyle BackColor="#1C5E55" ForeColor="White" Font-Bold="True" />
    <HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
    <PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
    <RowStyle BackColor="#E3EAEB" />
    <SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
    <SortedAscendingCellStyle BackColor="#F8FAFA" />
    <SortedAscendingHeaderStyle BackColor="#246B61" />
    <SortedDescendingCellStyle BackColor="#D4DFE1" />
    <SortedDescendingHeaderStyle BackColor="#15524A" />
</asp:GridView>

ここに画像の説明を入力

テンプレートフィールドに編集リンクボタンがあり、editItemテンプレートとその上のテキストボックスに更新リンクボタンがあり、人が編集リンクボタンをクリックしたときにテキストボックスを編集できます。

私の質問は次のとおりです。行全体ではなく同じ列のテキストボックスを編集するにはどうすればよいですか。

同じセルrowupdating、rowcommandを編集し、値をセッションに保存し、編集した値を数量と単価として乗算して、グリッドビューの合計価格行に表示するには、どの方法を使用する必要がありますか。

私は何日もこれにこだわっているので、これを実装する正しい方法を実装するのを手伝ってください..お願いします

4

1 に答える 1

1

グリッドビュー テンプレートで、EditRowTemplate を見てください。すべての編集可能なコントロール (ほとんどの場合、テキスト ボックス) が含まれていることがわかります。テキスト ボックスを削除し、代わりにラベルを追加して、データ ソースにバインドします。そうすれば、データは引き続き表示されますが、編集することはできません (編集するコントロールを除く)。

試してみて、さらにサポートが必要な場合はお知らせください。

于 2013-05-10T16:53:01.347 に答える