在我的頁面上我有兩個對象數據源;下拉列表數據綁定,新項目插入detailsview
第一具有一個綁定降downlist,與項目號碼和說明。 第二個具有顯示項目編號的所有內容的綁定詳細信息視圖。
選擇在下拉列表中的項目,導致要顯示的細節,如 預期。當我從詳細信息視圖中插入新記錄時,我想將其添加到下拉列表中並選擇它。
我想只是做一個:
Private Sub dvRecipeItem_ItemInserted(sender As Object, e As DetailsViewInsertedEventArgs) Handles dvRecipeItem.ItemInserted
ddRecipeItemNumber.DataBind()
End Sub
而且即使數據綁定確實新增項目加載到下拉列表,它不會讓所選擇的值,因此記錄顯示在細節視圖僅僅是取其項數是第一個,因爲它是由項目編號
下令可以有人解釋我如何讓它爲我在第二段中描述的場景工作?
非常感謝。
<asp:DropDownList
ID="ddRecipeItemNumber"
runat="server"
width="600px"
DataSourceID="EntityDataSource_RecipeItemNumber"
DataTextField="DisplayName"
DataValueField="Id"
AutoPostBack="True"
OnDataBinding="Page_Load"
CssClass="cssRecipeItemNumber">
</asp:DropDownList>
<asp:EntityDataSource
ID="EntityDataSource_RecipeItemNumber"
runat="server"
ConnectionString="name=OLTPEntities"
DefaultContainerName="OLTPEntities"
EnableFlattening="False"
EntitySetName="vStd_RefineRecipe"
EnableDelete="True"
EnableInsert="True"
EnableUpdate="True"
EntityTypeFilter="vStd_RefineRecipe"
Where="It.Id > 0"
OrderBy="It.ItemNumber">
</asp:EntityDataSource>
<asp:DetailsView
ID="dvRecipeItem"
runat="server"
AutoGenerateRows="False"
DataKeyNames="Id"
DataSourceID="EntityDataSource_RecipeItemDetail"
OnItemCommand="dvRecipeItem_ItemCommandEventHandler"
GridLines="None"
HeaderText="Recipe Detail"
CssClass="cssDetailsView"
HeaderStyle-CssClass="header"
Font-Names="Arial,Sans-Serif"
Font-Size="11px"
AlternatingRowStyle-CssClass="alternating"
CommandRowStyle-CssClass="command"
FieldHeaderStyle-CssClass="fieldheader">
<Fields>
<asp:TemplateField HeaderText="Id" SortExpression="Id" InsertVisible="False">
<EditItemTemplate>
<asp:Label ID="Label_Id" runat="server" Text='<%# Eval("Id") %>'></asp:Label>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TextBox_Id" runat="server" Text='<%# Bind("Id") %>'></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="Label_Id" runat="server" Text='<%# Bind("Id") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Item Number" SortExpression="ItemNumber">
<EditItemTemplate>
<asp:TextBox ID="TextBox_ItemNumber" runat="server" Text='<%# Bind("ItemNumber") %>'></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TextBox_ItemNumber" runat="server" Text='<%# Bind("ItemNumber") %>'></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="Label_ItemNumber" runat="server" Text='<%# Bind("ItemNumber") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" ShowInsertButton="True" InsertText="Insert" UpdateText="Update" DeleteText="Delete" />
</Fields>
</asp:DetailsView>
<asp:EntityDataSource
ID="EntityDataSource_RecipeItemDetail"
runat="server"
ConnectionString="name=OLTPEntities"
DefaultContainerName="OLTPEntities"
EnableFlattening="False"
EntitySetName="RefineRecipe"
Where="it.Id = @RecipeId"
EnableDelete="True"
EnableInsert="True"
EnableUpdate="True"
EntityTypeFilter="RefineRecipe">
<WhereParameters>
<asp:ControlParameter
ControlID="ddRecipeItemNumber"
DbType="Int32"
DefaultValue="1"
Name="RecipeId"
PropertyName="SelectedValue" />
</WhereParameters>
</asp:EntityDataSource>
Private Sub dvRecipeItem_ItemInserted(sender As Object, e As DetailsViewInsertedEventArgs) Handles dvRecipeItem.ItemInserted
ddRecipeItemNumber.DataBind()
ddRecipeItemNumber.Items.FindByValue(DirectCast(dvRecipeItem.FindControl("TextBox_ItemNumber"), TextBox).Text).Selected = True
End Sub
凡在HTML文件是dvRecipeItem – pankeel