Infragistics UltraGrid:는 방법을 제거하는 기본적으로 선택의 첫번째 줄
-
11-07-2019 - |
문제
나는 UltraGrid 에 WinForms 사용자가 제어할 수 있습니다.나는 쥐게 몇 가지 설정을 할 수 있도록 그리드를 읽기전에만 다 줄 테이블을 선택하십시오.그러나 하나의 문제는:기본적으로 첫 번째 행에 나타나이 선택 될 수 있습니다.
지 Selected.Rows
속은 비어 있고,또한 ActiveRow
시 null
.
그래서 행이 나타납 선택해야 하지만 실제로 되지 않는 것은 불가능을 제거하는 선택합니다.
나는 확신이 있어야 합 설정이 어딘가에 숨겨 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;