0

ドロップダウンリストボックスをグリッドビューの編集テンプレートにコーディングしようとしています。私はそれをすべて機能させています。私が理解できないのは、ドロップダウンリストボックスからグリッドビューに値を取得して、[更新]ボタンがポストバックするようにする方法です。

これは、コードビハインドページではなく、ASPインラインコードで行う必要があります。グリッドビューのフィールドをテンプレートフィールドに変換しました。

これが私がこれまでに持っているものですが、私は他のことを試みるために変化し続けます....

<asp:TemplateField HeaderText="Vehicle ID" SortExpression="tractorID"> 
 <EditItemTemplate> 
    <asp:DropDownList ID="DropDownList7" runat="server"  Width="70px" DataValueField="Value" 
                      SelectedValue='<%# Bind("tractorID") %>' DataSourceID="SqlDataSource1"  /> 
 </EditItemTemplate> 
 <ItemTemplate> 
    <asp:Label ID="Label1" runat="server" Text='<%# Eval("tractorID") %>'></asp:Label> 
 </ItemTemplate> 
</asp:TemplateField>
4

1 に答える 1

0

これは、仕事を成し遂げるための正しいコードでした。INLINE ソリューションを見つけることができず、これを RowDataBound イベントに追加する必要がありました。

' gets value of originally loaded record.
Dim vehID = row.Field(Of Integer)("tractorID") 
'  finds the dropdownlist to add the value to.
Dim tractorDDL As DropDownList = DirectCast(e.Row.FindControl("DropDownlist7"), DropDownList)
' Adds the value to the ddl
tractorDDL.Items.Add(vehID )      '  Adds value of the original record

完璧に動作します。

于 2012-12-13T14:12:22.730 に答える