it-swarm-eu.dev

Řádek DataGridView: Poloprůhledný výběr nebo ohraničení řádku při výběru

Mám DataGridView, kde pozadí každého řádku se liší v závislosti na datově vázané položce. Když ale vyberu řádek, nevidím jeho původní barvu pozadí.

Abych to vyřešil, myslel jsem na dvě řešení:

Mohu provést výběr poloprůhledný, aby bylo možné zjistit, zda dva vybrané řádky mají různé barvy pozadí.

Nebo; Mohu odstranit barvy výběru úplně a nakreslit ohraničení kolem vybraných řádků.

Jaká možnost je snazší a jak to mohu udělat?

Je to aplikace WinForm.

Upravit: Skončil jsem s kódem v původním příspěvku: https://stackoverflow.com/questions/4448945/datagridview-row-semi-transparent-selection- or-row-border-on-selection =

2
Jim Carragher

Moje první reakce, když jsem četl, že „pozadí každého řádku se liší v závislosti na datově vázané položce“, byl Ach ne, doufám, že mluví maximálně o jedné nebo dvou barvách ! :-)

Namísto vyřešení problému s výběrem navrhuji, abyste jej považovali za problém a nechali jej jít pryč. Udělal bych to přidáním samostatného sloupce, který poskytne stejné informace, jaké má barva pozadí představovat. Nejen, že by to bylo čistší, IMO, ale také by poskytovalo následující výhody:

  • Můžete seřadit podle „stavu“ (nebo podle toho, co má barevné pozadí představovat)

  • Pokud nemáte mnoho různých barev, můžete použít tvary, což je velmi užitečné pro color blind .

  • Můžete kombinovat vizuální s numerickými informacemi. Následující snímek obrazovky zobrazuje ukazatele průběhu ve sloupci, ale podobný přístup můžete použít k vyjádření toho, čeho se vaše barva pozadí v současné době snaží dosáhnout.

    alt text

Existuje důvod, proč musíte použít barvu pozadí?

2
Hisham