2012-05-22 1 views
1

DetailsView의 TemplateField로 DropDownList가 있습니다. DropDownList의 선택된 값을 DetailsView가 바인딩 된 SqlDataSource에서 오는 현재 값에 할당하면서 한 SqlDataSource에서 가져올 수있는 모든 가능한 옵션을이 DropDownList에 채 웁니다. 그래서 같은 :DropDownList 두 개의 SqlDataSource

<asp:DetailsView DataSourceID="SqlDataSource1"> 
    <asp:TemplateField> 
     <asp:DropDownList ID="Serial"> 
      /* Here is where I need to bind the dropdown to data source 2 so that All serials are available while selecting it's current value from data source 1. 
    </asp:TemplateField> 
</asp:DetailsView> 

<asp:SqlDataSource ID="SqlDataSource1" 
    SelectCommand = "Select SerialNumber From Equipment Where EquipID = @EquipID"> 
    <SelectParameters> 
     <asp:ControlParameter ControlID="GridView1" DefaultValue="" 
      Name="EquipID" PropertyName="SelectedDataKey.Values[EquipID]" /> 
    </SelectParameters> 
</asp:SqlDataSource> 

<asp:SqlDataSource ID="SqlDataSource2" 
    SelectCommand = "Select SerialNumber From Equipment"> 
</asp:SqlDataSource> 

답변

1

당신은 옵션을 채 웁니다 데이터 소스에 DropDownListDataSourceID 할당 할 수 있습니다, 다음 DetailsView에 바인딩 된 데이터 소스의 현재 값에 SelectedValue을 할당 :

<asp:DropDownList ID="Serial" DataSourceID="SqlDataSource#" 
    DataValueField="..." DataTextField="..." 
    SelectedValue='<%#Bind("MYFIELDNAME")%>'> 
</asp:DropDownList> 

여기서 MYFIELDNAME은 해당 레코드의 현재 값을 나타내는 DetailsView에 바인드 된 데이터 소스에서옵니다.