2011-11-07 3 views
2

GridTemplateColumn 두 개가 내 RadGrid에 있습니다. 기본 필터링은 나를 위해 작동하지 않고 변경하려고합니다.Telerik의 RadGrid의 GridTemplateColumns를 필터링하는 방법

<telerik:GridTemplateColumn FilterControlAltText="Filter Online column" HeaderText="Online" 
    UniqueName="Online"> 
    <ItemTemplate> 
     <asp:CheckBox ID="chkOnline" runat="server" Checked='<%# CheckForOnline(Eval("ID")) %>' 
      Enabled="False" /> 
    </ItemTemplate> 
    <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" /> 
    <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="100px" /> 
</telerik:GridTemplateColumn> 

다른 하나 :

GridTemplateColumns은 다음과 같다

<telerik:GridTemplateColumn FilterControlAltText="Filter FileSize column" HeaderText="FileSize" 
    UniqueName="FileSize" Visible="False"> 
    <ItemTemplate> 
     <asp:Label ID="lblFileSize" runat="server" Text='<%# Eval("FileSize") %>'></asp:Label> 
    </ItemTemplate> 
    <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" /> 
    <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" /> 
</telerik:GridTemplateColumn> 
<telerik:GridTemplateColumn FilterControlAltText="Filter FileSizeChange column" HeaderText="FileSize" 
    UniqueName="FileSizeChange"> 
    <ItemTemplate> 
     <asp:Label ID="lblFileSizeChange" runat="server" Text='<%# ChangeFileSize(Eval("FileSize")) %>'></asp:Label> 
    </ItemTemplate> 
    <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" /> 
    <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" /> 
</telerik:GridTemplateColumn> 

당신이 볼 수 있듯이, FileSizeTemplateColumn는 사용할 수 없으며 내가 대신 FileSizeChange을 사용하고 있습니다.

FileSize 문자열은 다음과 같습니다 (213435) ->이 숫자는 us를 나타냅니다. FileSizeChange is like (231 MB)/

OnlineFileSizeChangeGridTemplateColumn 모두에 대해 필터링을 쓸 수 있습니까?

답변

5

:

<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="false" AllowFilteringByColumn="True"> 
    <MasterTableView DataKeyNames="ID"> 
     <Columns> 
      <telerik:GridTemplateColumn DataField="ID" FilterControlAltText="Filter Online column" HeaderText="Online" UniqueName="Online"> 
       <ItemTemplate> 
        <asp:CheckBox ID="chkOnline" runat="server" Checked='<%# CheckForOnline(Eval("ID")) %>' Enabled="False" /> 
       </ItemTemplate> 
       <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" /> 
       <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="100px" /> 
      </telerik:GridTemplateColumn> 
... 
etc, etc 
1

수동으로 작성하는 ItemTemplate이기 때문에 수동으로 필터링해야합니다. Telerik의 문서의이 페이지를 참조하십시오 : http://www.telerik.com/help/aspnet-ajax/grid-operate-with-filter-expression-manually.html 당신이 을 DataField을 설정하고 DataKeyNames

예에 데이터 필드를 추가 할 필요가 템플릿 열을 필터링을 사용하려면

+0

당신이 나에게 내 상황에 대한 몇 가지 코드를 적어주세요 것인가? – MoonLight

3

항목 템플릿 열에서 필터링해야하는 경우 항목 템플릿 열에 다음 속성을 설정해야합니다.

DataField="FileSize" AllowFiltering="true" AutoPostBackOnFilter="true" DataType="System.String"

ShowFilterIcon="false" CurrentFilterFunction="Contains"

또한 당신이 당신의 radgrid에 필터링이 활성화되어 있는지 확인하십시오 당신이 필터 기능 아이콘을 숨기려면

이 두 선택 사항입니다.

여기에 대한 좋은 포스트는 다음과 같습니다 http://www.telerikschool.com/2011/11/textbox-in-gridtemplatecolumn.html

+0

AutoPostBackOnFilter가 없으면 정상적으로 작동합니다. – Jude

관련 문제