Telerik Radgrid- 열의 정렬을 비활성화하는 방법은 무엇입니까?
문제
~ 안에 그들의 문서 Telerik은 허용 속성을 사용하여 특정 열의 정렬을 비활성화하는 방법이 있다고 말합니다. 보고 있어요 telerik.web.ui.gridcolumn 회원 그리고 허용 속성이 없습니다. 정렬 가능한 속성이 있지만 보호 된 속성이 있으며 재정의되어야합니다. 그렇다면 특정 열의 정렬을 끄는 데 무엇을 사용합니까?
GridBoundColumn에는 허용 속성이 있지만이 경우 GridTemPlateColumn을 사용하고 있습니다. GridTemplateColumn에서 정렬을 끄는 방법이 있습니까?
해결책 2
좋아, 나는 원하는 효과를 얻었고, gridtemplatecolumn의 SortingExpression 속성을 공백으로 설정하여 정렬을 끕니다.
Grid.Columns.FindByUniqueName("Type").SortExpression = string.Empty;
이것은 해킹처럼 보입니다. 정렬을 끄는 명백한 속성이없는 이유는 무엇입니까? 오, 음. 이것은 작동합니다.
더 나은 방법을 알고 있다면 알려주세요.
감사.
다른 팁
허용 속성은 Visual Studio의 소스/마크 업보기에서 사용할 수 있습니다. 예를 들어 (단순화) :
<tr:RadGrid>
<MasterTableView>
<Columns>
<tr:GridBoundColumn DataField="field" HeaderText="Description"
AllowSorting="false" />
</Columns>
</MasterTableView>
</tr:RadGrid>
이것이 당신에게 효과가 있는지 모르겠습니다. 나는 코드-비만 파일에서 내 그리드를 인스턴스화하지 않았으므로 그것이 당신이하고있는 일이라면 쉽게 당신을 도울 수 없습니다. 그러나 위의 것은 저에게 효과가 있습니다.
편집하다:
아 원래 질문에서 gridtemplate 열을 사용하고 있다는 것은 명확하지 않았습니다. 현재 Sortexpression-Property를 사용하고 있기 때문에 마크 업 작업에서 동일한 속성을 사용하지 않습니까? 그래서:
<tr:RadGrid>
<MasterTableView>
<Columns>
<tr:GridTemplateColumn HeaderText="Description" DataField="field"
SortExpression="">
<!-- template here etc. -->
</tr:GridTemplateColumn>
</Columns>
</MasterTableView>
</tr:RadGrid>
Telerik은 이제 HeaderbuttonType (템플릿 열에 존재합니다!)라는 새로운 속성을 가지고 있으며, 이는 열 헤더 텍스트의 LinkButton 대신 레이블을 렌더링하기 위해 "None"으로 설정할 수 있습니다.
다음은 특정 열의 정렬을 비활성화하는 방법을 보여주는 예입니다.
그리드 레벨 (모든 열의 경우)에서 허용 속성을 기록하십시오.
그런 다음 열 수집에서 해당 열에 대해 어떻게 꺼져 있는지 확인하십시오.
<telerik:RadGrid ID="RadGrid1" runat="server" AllowSorting="True">
<HeaderContextMenu>
<CollapseAnimation Duration="200" Type="OutQuint" />
</HeaderContextMenu>
<MasterTableView>
<RowIndicatorColumn>
<HeaderStyle Width="20px" />
</RowIndicatorColumn>
<ExpandCollapseColumn>
<HeaderStyle Width="20px" />
</ExpandCollapseColumn>
<Columns>
<telerik:GridBoundColumn AllowSorting="False" UniqueName="column">
</telerik:GridBoundColumn>
</Columns>
</MasterTableView>
<FilterMenu>
<CollapseAnimation Duration="200" Type="OutQuint" />
</FilterMenu>
</telerik:RadGrid>
TemplateColumns의 경우 그리드 레벨에서 정렬을 끄고 필요한 열에서 단순히 활성화하려고합니다. 이렇게하면 TemplateColumn을 위해 아무것도 할 필요가 없습니다. 기본적으로 비활성화되기 때문입니다.
GridTemPlateColumn을 사용하는 경우 항상 링크 버튼 대신 헤더로 레이블로 자신의 HeaderTemplate을 항상 제공 할 수 있습니다. A 우리는 추가 작업을하지만 이것은 잘 작동합니다. 모든 gridtemplatecolumns의 정렬을 비활성화하려는 경우 "해킹"이 가장 좋습니다.
에 명시된 바와 같이 Telerik Docs:
특정 열의 정렬을 비활성화하려면 열의 issortable 속성을 False로 구성 할 수 있습니다.
<telerik:GridViewColumn IsSortable="False" />