Telerik Radgrid- 열의 정렬을 비활성화하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/798458

  •  18-09-2019
  •  | 
  •  

문제

~ 안에 그들의 문서 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" />
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top