Infragistics UltraGrid: cum să eliminați selecția implicită a primului rând

voturi
15

Am pus un UltraGrid pe un control WinForms utilizator. Am optimizat câteva setări, astfel că pot folosi grila ca un tabel, selectați mai multe rânduri read-only. Dar există o problemă: în mod implicit primul rând pare să fie selectat.

Dar Selected.Rowsproprietatea este gol, și , de asemenea, ActiveRowproprietatea este null.

Deci, rândul pare a fi selectat, dar de fapt nu este, ceea ce face imposibilă pentru a elimina selecția.

Sunt sigur că trebuie să existe o setare de ascuns undeva pe UltraGrid pentru a controla acest comportament. Și dacă acest lucru nu este cazul, atunci poate că există o soluție?

Mulțumiri.

Întrebat 12/03/2009 la 14:01
sursa de către utilizator
În alte limbi...                            


7 răspunsuri

voturi
21

După unele mai multe cercetări am găsit o soluție, pe care o voi împărtăși cu voi toți:

myUltraGrid.DisplayLayout.Override.ActiveCellAppearance.Reset();
myUltraGrid.DisplayLayout.Override.ActiveRowAppearance.Reset();
Publicat 12/03/2009 la 14:16
sursa de către utilizator

voturi
3

Am exactely aceeasi problema pe care ați avut-o, dar soluția Gerrie Schenck nu funcționează pentru mine. Am folosit acest truc: MyUltraGrid.ActiveRow = MyUltraGrid.Rows [0]; MyUltraGrid.ActiveRow = null;

Publicat 03/06/2009 la 13:42
sursa de către utilizator

voturi
1

Într-un fel nici una dintre soluțiile enumerate mai sus a lucrat pentru mine. În cazul meu am vrut pur și simplu de activare / selecție nu să se întâmple deloc. Așa că am făcut următoarele. Este posibil să nu fie cea mai bună soluție, dar funcționează.

    private void LayoutVisulizerUltraGrid_AfterRowActivate(object sender, EventArgs e)
    {
        LayoutVisulizerUltraGrid.ActiveRow = null;
    }
Publicat 26/05/2011 la 15:27
sursa de către utilizator

voturi
3

incearca asta:

this.ultraGrid1.SyncWithCurrencyManager = false;
this.ultraGrid1.DisplayLayout.Override.RowSelectors=DefaultableBoolean.False;
Publicat 06/03/2014 la 06:58
sursa de către utilizator

voturi
3

Acest lucru ma ajutat in suprimarea „Aspect activ“ al unei grile:

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

Dacă, de asemenea, nu doriți un rând să fie marcate ca selectate, trebuie să facă același lucru pentru „Aspect selectat“:

grid.DisplayLayout.Override.SelectedAppearancesEnabled = Infragistics.Win.DefaultableBoolean.False;
Publicat 14/11/2014 la 11:48
sursa de către utilizator

voturi
0

Dezactivează rândul selectat cu totul, atunci setarea ActiveRownulă ar anula selecția.

grid.DisplayLayout.Override.SelectTypeRow = Infragistics.Win.UltraWinGrid.SelectType.None;
Publicat 06/08/2015 la 05:19
sursa de către utilizator

voturi
2

Este important să se facă distincția între selectate și activă. Grila nu selectează automat orice rânduri Ceea ce vedeți este ActiveRow, care afișează cu un punct culminant la fel ca rândurile selectate.

ActiveRow Grila este synched sus cu CurrencyManager, deci implicit apare evidențiat primul rând grila lui. Resetarea ActiveRowAppearance și ActiveCellAppearance va elimina evidențierea implicită din ActiveRow.

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

Dar este important să rețineți că acest lucru nu împiedică rând de a deveni rândul activ, doar că grila nu mai scoate în evidență rândul activ. Deoarece rândul este încă activ (și nu există nici o modalitate de a preveni acest lucru) orice altceva care scoate în evidență rândul activ va evidenția în continuare rândul. De exemplu, dacă încărcați o bibliotecă Style (* .isl) fișier în aplicația dumneavoastră, care se aplică un stil la ActiveRow, se va afișa în continuare.

Dacă doriți să dezactivați aspectul activ rând într-un mod mai aprofundată, ignorând complet toate setările de proprietate și setările Library Style, puteți face acest lucru:

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

Rețineți că această proprietate a fost adăugat în v9.2 și nu există în versiunile mai vechi.

Publicat 19/01/2016 la 17:10
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more