문제

나는 UltraGrid 에 WinForms 사용자가 제어할 수 있습니다.나는 쥐게 몇 가지 설정을 할 수 있도록 그리드를 읽기전에만 다 줄 테이블을 선택하십시오.그러나 하나의 문제는:기본적으로 첫 번째 행에 나타나이 선택 될 수 있습니다.

Selected.Rows 속은 비어 있고,또한 ActiveRownull.

그래서 행이 나타납 선택해야 하지만 실제로 되지 않는 것은 불가능을 제거하는 선택합니다.

나는 확신이 있어야 합 설정이 어딘가에 숨겨 UltraGrid 이 동작을 제어하기 위해.과이 아닌 경우는 경우 다음 어쩌면 거기에는 해결 방법?

감사합니다.

도움이 되었습니까?

해결책

좀 더 연구를 마친 후에는 솔루션을 찾았으며 여러분 모두와 공유 할 수 있습니다.

myUltraGrid.DisplayLayout.Override.ActiveCellAppearance.Reset();
myUltraGrid.DisplayLayout.Override.ActiveRowAppearance.Reset();

다른 팁

나는 당신이 가진 것과 똑같은 문제를 가지고 있지만 Gerrie Schenck의 해결책은 저에게 효과가 없습니다. 이 트릭을 사용했습니다 : myultragrid.activerow = myultragrid.rows [0]; myultragrid.activerow = null;

이 시도:

this.ultraGrid1.SyncWithCurrencyManager = false;
this.ultraGrid1.DisplayLayout.Override.RowSelectors=DefaultableBoolean.False;

이것은 그리드의 "활성 외관"을 억제하는 데 도움이되었습니다.

grid.DisplayLayout.Override.ActiveAppearancesEnabled = Infragistics.Win.DefaultableBoolean.False;

또한 행을 선택한 것으로 표시하지 않으려면 "선택한 모양"에 대해서도 동일하게해야합니다.

grid.DisplayLayout.Override.SelectedAppearancesEnabled = Infragistics.Win.DefaultableBoolean.False;

그것의 중요한 구별하는 사이에 선택하고 활성화됩니다.표지를 선택하는 어떤 행동으로 당신이 무엇을 보고 있는 것입니 ActiveRow 표시하는 하이라이트처럼 선택한 행이 있습니다.

그리드의 ActiveRow 은 동기화와 currencymanager 를,그래서 기본적으로 그리드의 첫 번째 행에 표시 강조 표시됩니다.재설정 ActiveRowAppearance 및 ActiveCellAppearance 것이 기본 제거 강조 표시에서 ActiveRow.

        this.ultraGrid1.DisplayLayout.Override.ActiveCellAppearance.Reset();
        this.ultraGrid1.DisplayLayout.Override.ActiveRowAppearance.Reset();

그러나 그것의 중요한지 않는다는 것을 방지하는 행되고에서 활동 행,그것은 단지 그리드가 더 이상 하이라이트 active 니다.행하기 때문에 여전히 활성화된(및 방법은 없 이를 방지하기 위해)아무것도 하이라이트 active 줄 것입니다 여전히 강조합니다.예를 들면을 로드하면 스타일의 라이브러리(*.isl)파일 응용 프로그램에 적용하는 스타일을 ActiveRow,그것은 여전히 표시 합니다.

는 경우에 당신을 사용하지 않으려는 활동 행 모양에 더욱 철저한 방법으로,완전히 무시하고 모든 속성을 설정하고 스타일의 라이브러리 설정,당신은 작업을 수행 할 수 있습니다:

this.ultraGrid1.DisplayLayout.Override.ActiveAppearancesEnabled = Infragistics.Win.DefaultableBoolean.False;

참고에는 이 숙박 시설에서 추가되었 v9.2 에 존재하지 않습니다.

어쨌든 위에 나열된 솔루션 중 어느 것도 저를 위해 작동하지 않았습니다. 제 경우에는 단순히 활성화/선택이 전혀 일어나지 않기를 원했습니다. 그래서 나는 다음을했다. 최상의 솔루션은 아니지만 작동합니다.

    private void LayoutVisulizerUltraGrid_AfterRowActivate(object sender, EventArgs e)
    {
        LayoutVisulizerUltraGrid.ActiveRow = null;
    }

선택한 행을 모두 비활성화 한 다음 설정하십시오 ActiveRow null은 선택을 지워야합니다.

grid.DisplayLayout.Override.SelectTypeRow = Infragistics.Win.UltraWinGrid.SelectType.None;
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top