2015-04-02 3 views
1

Мне нужно использовать тот же источник данных для динамического количества выпадающих списков.Веб-формы Несколько Drop Downs с тем же источником

Я в основном показываю таблицу из своей базы данных в редактируемой таблице через ретранслятор.

Я не могу понять, как связать свой источник данных с несколькими выпадающими списками.

Я знаю, что я еще не подключил почтовые сообщения (в коде ниже), но я сделал это раньше, просто никогда с раскрывающимся списком.

О, и одно последнее требование состоит в том, что значение по умолчанию для каждого раскрывающегося списка должно основываться на данных, на которые ретранслятор имеет привязку данных.

Любые идеи о том, как я могу получить эти данные asp: DropDownLists?

У меня это в моем коде и надеялся использовать его в качестве источника данных.

private DataTable _pages; 
protected DataTable Pages 
{ 
    get 
    { 
     if(_pages.Rows.Count == 0) 
      return Page_Listing(); 
     return _pages; 
    } 
}  

Вот ретранслятор, который я уже DataBound:

<asp:Repeater runat="server" ID="Cycle_DataList"> 
      <ItemTemplate> 
       <div class="GridItem <%# Container.ItemIndex % 2 == 0 ? "rowOdd" : "rowEven" %>"> 

        .......... 

        <span class="internal"> 
         <asp:RadioButton ID="Internal" 
          class="hiddenText" 
          Text='' 
          runat="server" 
          Checked='<%# String.IsNullOrWhiteSpace(Eval("INTERNAL_MENU").ToString()) ? false : true %>' 
          GroupName="menus" 
          /> 
        </span>       
        <span class="external"> 
         <asp:RadioButton ID="External" 
          class="hiddenText" 
          Text='' 
          runat="server" 
          Checked='<%# String.IsNullOrWhiteSpace(Eval("EXTERNAL_MENU").ToString()) ? false : true %>' 
          GroupName="menus" 
          /> 
        </span> 
        <span class="page"> 
         <asp:Label ID="Page" runat="server" title="Info Page"><%# Eval("REG_INFO_PAGE") %></asp:Label> 
         I WANT THIS LABEL TO BE A DROPDOWNBOX INSTEAD 
        </span> 
       </div> 
      </ItemTemplate> 
     </asp:Repeater> 

enter image description here

+0

вы можете использовать событие OnRowDataBound и привязать данные с помощью codebehind? – renakre

ответ

1

Попробуйте это: (заменить идентификатор источника данных и имя столбца)

<asp:TemplateField HeaderText="Info Page"> 
 
     <ItemTemplate> 
 
      <asp:DropDownList ID="ddlInfo" runat="server" DataSourceID="YourDataSourceID" DataTextField="ColumnName"></asp:DropDownList> 
 
     </ItemTemplate> 
 
    </asp:TemplateField>

+0

Спасибо за ответ, но у меня больше нет доступа к этой базе кода. – rocktheartsm4l

+0

Я имел в виду замену в вашем коде aspx именами ваших источников данных. –

+0

Я понимаю, но у меня нет доступа к этому коду. Этот вопрос был с апреля! – rocktheartsm4l

Смежные вопросы