2014-09-26 2 views
0

Я использую Сущность веб-приложения ASP.NET Dynamic Data, который содержит серверного элемент управления QueryableFilterRepeater внутри заполнителя контента на странице List.aspx, когда я исполню веб-сайт, управляющий фильтром показывает все фильтры (Название этикетки вместе с соответствующим выпадением) по вертикали.Как изменить раскладку QueryableFilterRepeater?

The current layout (vertical)

Есть ли способ, мы можем изменить макет и отобразить фильтры по горизонтали?

Пожалуйста, найдите код .aspx ниже

<asp:QueryableFilterRepeater runat="server" ID="FilterRepeater"> 
    <ItemTemplate> 
    <asp:Label runat="server" Text='<%# Eval("DisplayName") %>' OnPreRender="Label_PreRender" /> 
    <asp:DynamicFilter runat="server" ID="DynamicFilter" OnFilterChanged="DynamicFilter_FilterChanged" /> 
    </ItemTemplate> 
    </asp:QueryableFilterRepeater> 

соответствующего кода .cs файла: -

protected void Label_PreRender(object sender, EventArgs e) 
     { 
      Label label = (Label)sender; 
      DynamicFilter dynamicFilter = (DynamicFilter)label.FindControl("DynamicFilter"); 
      QueryableFilterUserControl fuc = dynamicFilter.FilterTemplate as QueryableFilterUserControl; 
      if (fuc != null && fuc.FilterControl != null) 
      { 
       label.AssociatedControlID = fuc.FilterControl.GetUniqueIDRelativeTo(label); 
      } 
     } 

protected void DynamicFilter_FilterChanged(object sender, EventArgs e) 
     { 
      GridView1.PageIndex = 0; 
     } 

нужны предложения. Спасибо заранее.

ответ

1

Я обычно обернуть контроль в двускатной элемента, а затем использовать CSS стиль его так, что я хочу:

<asp:QueryableFilterRepeater runat="server" ID="FilterRepeater"> 
<ItemTemplate> 
    <span class="filter"> 
     <asp:Label runat="server" Text='<%# Eval("DisplayName") %>' OnPreRender="Label_PreRender" /> 
     <asp:DynamicFilter runat="server" ID="DynamicFilter" OnFilterChanged="DynamicFilter_FilterChanged"/>&nbsp; 
    </span> 
</ItemTemplate> 

+0

Спасибо за ответ Wizzard. – Shivam657