2

いくつかのテキストボックスとドロップダウンリストを備えたBulkEditGridViewがあります。BulkEditGridViewのレコードを更新しようとすると、Updateparameter "Unit"に期待値が含まれていないため、失敗します。同じ名前のDataFieldプロパティを持つboundfieldの値が含まれていることを期待していました。あれは正しいですか?

実際、「hiddenUnit」バウンドフィールドは、「DropDownUnit」フィールドの選択された値をパラメーターとして使用する方法がわからなかったためにのみ存在します。それを行う簡単な方法はありますか?

お分かりのように、私はこれの初心者ですので、どんな助けでも深く感謝します。

SqlDataSource:

            <asp:SqlDataSource ID="SqlMealItems" runat="server" ConnectionString="<%$ ConnectionStrings:Kunskapshjulet %>"  
            SelectCommand="SELECT MealItems.ProductId,[Quantity], [Unit], [ProductName], [ItemId] FROM [MealItems] 
                            INNER JOIN Products ON 
                              Products.ProductID = MealItems.ProductId
                            WHERE ([UserId] = @UserId)" 
            UpdateCommand="UPDATE [MealItems] SET [Quantity] = @Quantity, [Unit] = @Unit WHERE UserId = @UserId" >
            <InsertParameters>
                <asp:Parameter Name="Quantity" Type="Int32" />
                <asp:Parameter Name="Unit" Type="Double" />
                <asp:Parameter Name="ProductId" Type="Int32" />
                <asp:Parameter Name="ItemId" Type="String" />
            </InsertParameters>
            <SelectParameters>
                <asp:SessionParameter Name="UserId" SessionField="userID" Type="String" />
            </SelectParameters>
            <UpdateParameters>
                <asp:SessionParameter Name="UserId" SessionField="userID" Type="String" />
                <asp:Parameter Name="Quantity" Type="Int32" />
                <asp:Parameter Name="Unit"  />
             </UpdateParameters>

BulkEditGridView

           <rwg:BulkEditGridView ID="MealList" runat="server" AutoGenerateColumns="False" ShowFooter="True" GridLines="Vertical" CellPadding="4"
             BackColor="White"  DataKeyNames="ItemId,ProductId" SaveButtonID="SaveButton"
            DataSourceID="SqlMealItems"  OnRowUpdate="MealList_RowUpdating"
            OnRowDataBound="MealList_RowDataBound" CssClass="gridView">
             <AlternatingRowStyle CssClass="MealListItemAlt" BackColor="#a6dbed" />
           <Columns>
                <asp:BoundField DataField="ProductId" HeaderText="Prod #" ReadOnly="True" />
                <asp:BoundField DataField="ProductName" HeaderText="Namn" ReadOnly="True" />
                <asp:BoundField DataField="Quantity" HeaderText="Antal"  />
                <asp:TemplateField HeaderText="Enhet">
                    <ItemTemplate>
                        <asp:DropDownList ID="DropDownUnit" OnSelectedIndexChanged="DropDownUnit_SelectedIndexChanged"
                            AutoPostBack="True" runat="server" DataTextField="Unit"  DataValueField="Unit">
                        </asp:DropDownList>
                    </ItemTemplate>
               </asp:TemplateField>
               <asp:BoundField  HeaderText="á pris" ReadOnly="True"  ControlStyle-Width="60" ControlStyle-CssClass="rightAlign" ControlStyle-BorderWidth="1" ControlStyle-BorderColor="#CCCCCC" >
                       <ControlStyle BorderColor="#CCCCCC" BorderWidth="1px" CssClass="rightAlign" Width="60px"></ControlStyle>
                </asp:BoundField>
                <asp:TemplateField HeaderText="Totalt">
                  <ItemTemplate>
                        <asp:TextBox ID="tbTotalPrice" runat = server ReadOnly="true" Width="60" style="text-align:right" BorderWidth="1" BorderColor="#CCCCCC">
                       </asp:TextBox>               
                    </ItemTemplate>
                </asp:TemplateField>
                  <asp:BoundField DataField="Unit" HeaderText="hiddenUnit"  ReadOnly="True" Visible="True" />
           </Columns>
        </rwg:BulkEditGridView>
4

0 に答える 0