Keresés
Hírlevél
 
Kiemelt témák
»10 éves a prog.hu
»Párhuzamos programozás
»Párhuzamos végrehajtás == szemléletváltás!
Állás/munka
»Tanárt keresek
»Port.hu film tartalmának kinyerése
»PHP programozó kerestetik
»Fejlesztői megbízásokat/munkát keresek
»Senior .Net fejlesztő szabad kapacitással
» több téma
Tudástár
?PHP if-nél megakadtam
? torrent file helyett txt-t
?PHP:keresés szó szerint...
Mobilinternet használata robotokban
?Delphi Form méretezési probléma
?HelpProvider alkalmazás .HLP fájlban
2 oldalas form
SetFocus hatástalan
?XP-n megy Win7-en megakad (Delphi)
?Hiányos mp3 hallgatás telefonról! C#
A legalsó scrollTop értéket nem veszi figyelembe
3 dív pozicionálása (2 egymás mellé, 1 ezek alá)
?Curl login Joomla-ba (PHP)
*Java Axis webservice file küldés és fogadás
?C# scrollozható form
» több téma
Társalgó
»Az általános műveltség része kellene, hogy legyen a programozni tudás?
»Get flood elleni védekezés
»Újra programozni fog a Facebook alapítója és multimilliárdos elnöke
»Firebird - Több adatbázis vagy egy?
»Clipper kontra XP
»Webshop ár kb...
»Hogy működik egy apróhirdető oldal (MySQL)?
»Körlevél script PHP + MySQL
»New project probléma VS 2010 C#
»Kezdőknek:grafikus felület választás
» több téma
ASPC#C++CSSDelphiFlashJavaJavaScriptPascalPerlPHPPythonuniPaaSVisual BasicVisual C++  »    

Tudástár

»

VB .NET DataGridView kiválasztott sor színe

»

VB .NET DataGridView kiválasztott sor színe

nyitotta: nyamnyam, idő: 2012.02.09., moderátor: moderator, megoldás elfogadva: 2012.02.10. 18:13
  Értesítés változás esetén Felvétel kedvencekhez Küldés emailben Nyomtatható verzió

Kategóriák:Programozási nyelvek » Visual Basic

Kulcsszavak:
Sorrend:
Időzóna:
Blokkméret:
Oszd meg másokkal is!
Van lehetőség megváltoztatni egy DataGridView kiválasztott sorának szövegszínét programból? Illetve aszerint változtatni, hogy a kiválasztás előtt milyen színű volt a szöveg?
Azt szeretném elérni, hogy ha pirossal vannak kiírva egy sor celláinak szövegei, akkor kijelöléskor is piros legyen a szövegük. Mert amúgy alapból mindig kék háttéren fehér a szöveg.
Szia,

a Kijelölt sorokat a dataGridView1.SelectedRows -al tudod lekérdezni, ez egy listát ad vissza, a lista elemei DataGridViewRow típusúak, ezeknek pedig van egy DefaultCellStyle tulajdonságuk, amin keresztül tudod a kinézetüket módosítani. Pl.:
BackColor (háttérszín), ForeColor (betűszín) előzmény
Igen, sikerül is módosítanom a cellák szövegszínét, de kiválasztott cella, cellák esetén nem jöttem rá hogyan kell.

Dim cellaStilus As New DataGridViewCellStyle
cellaStilus.ForeColor = Color.Blue

For i As Integer = 0 To 9
    DataGridView1.Rows.Add("AAA", "BBB", "CCC", "DDD", "EEE")
    DataGridView1.Rows(i).DefaultCellStyle = cellaStilus
Next

Dim cellaStilus2 As New DataGridViewCellStyle
cellaStilus2.ForeColor = Color.Red

DataGridView1.CurrentCell = DataGridView1.Rows(0).Cells(0)

'???

És itt meg vagyok akadva hogyan tovább. Hogyan színezem át a kiválasztva lévő cellát, cellákat. előzmény
A cellának van egy Style tulajdonsága, azon keresztül állíthatod -> DataGridViewCell.Style Property

Esetedben:

DataGridView1.CurrentCell.Style = cellaStilus2 előzmény
Ez átszínezi a kiválasztott cella szövegét, de csak akkor látszik, amikor "elmegy" róla a kiválasztás. A kiválasztottságkor (hú de szép...) semmi változás, kék háttér, fehér betűk. Ezért kérdezem, hogy lehet séges-e az, hogy a kiválasztottságkor ne fehér, hanem mondjuk piros legyen a szöveg. előzmény
Use an Event to Set the Row/Cell BackColor in a Custom DataGridView

A forrás letölthető, tán érdemes kipróbálni.. előzmény
Erre gondolsz? SelectionBackColor, SelectionForeColor? A CellStyle-nak tudod állítani ezen tulajdonságait.

cellaStilus.SelectionBackColor = Color.Red; előzmény
Use an Event to Set the Row/Cell BackColor in a Custom DataGridView

A forrás letölthető, tán érdemes kipróbálni..


Nem sikerült kipróbálnom, mert nem tudom lefuttatni. Nem jól konvertálja a Visual Studio 2010 C++.
Jobb lenne valamilyen VB-s forrás. Meg ahogy a weboldalon mellékelt képeket nézem, nem arról van szó, amit írtam. előzmény
Erre gondolsz? SelectionBackColor, SelectionForeColor? A CellStyle-nak tudod állítani ezen tulajdonságait.

cellaStilus.SelectionBackColor = Color.Red;


Igen erre, de nem jó. Ezt csináltam:

Dim cellaStilus1 As New DataGridViewCellStyle
cellaStilus1.ForeColor = Color.Blue

For i As Integer = 0 To 9
    DataGridView1.Rows.Add("AAA", "BBB", "CCC", "DDD", "EEE")
    DataGridView1.Rows(i).DefaultCellStyle = cellaStilus1
Next

Dim cellaStilus2 As New DataGridViewCellStyle
cellaStilus2.ForeColor = Color.Red

DataGridView1.CurrentCell = DataGridView1.Rows(0).Cells(0)

DataGridView1.CurrentCell.Style = cellaStilus2

De kiválasztott állapotban nem látszik a színezés. Ha elviszem a kijelölést a celláról, akkor piros színű marad annak a cellának szövege, ahol a kiválasztás volt, de az kellene, hogy akkor látszódjanak pirosnak a betűk, amikor rajta van a kiválasztás. előzmény
De ebben a példádban nem is írtad át sehol a kiválasztás színét. A cella stílusának beállításakor megadhatod a különböző állapotok színeit.

BackColor - háttérszín
ForeColor - betűszín
SelectionBackColor - kiválasztott cella háttérszíne
SelectionForeColor - kiválasztott cella betűszíne

Neked nem kell semmit később módosítani, csak itt kell beállítanod a négy értéket.

Dim cellaStilus1 As New DataGridViewCellStyle
cellaStilus1.ForeColor = Color.Blue
cellaStilus1.BackColor = Color.White
cellaStilus1.SelectionForeColor = Color.Black
cellaStilus1.SelectionBackColor = Color.Red

For i As Integer = 0 To 9
    DataGridView1.Rows.Add("AAA", "BBB", "CCC", "DDD", "EEE")
    DataGridView1.Rows(i).DefaultCellStyle = cellaStilus1
Next
előzmény
Ah, kösz! Elbalfaxkodtam, nem figyeltem eléggé. előzmény
Oszd meg másokkal is!
Belépés
E-mail cím:
Jelszó:

cvonline.hu
»iOS fejlesztő
»Senior web programozó
»Java fejlesztő (Bécs)
»Java fejlesztő (front-end, backend)
»PHP fejlesztő (Ausztria, Németország)
»Solaris rendszermérnök
» még több állás
Kérdésed van?
Problémád, kérdésed van? Segítünk neked is. Csak kattints ide!
RSS források
-Hírek
-Cikkek
-Fórumok
-Állás/munka
Top pontgyűjtők
»Árnyék1.100
»silentworks910
»Robi80910
»szabofe860
»bubori.attila760
»djjjozsi680
»Galovics660
»Riha590
»Frostech0560
»Csaboka2550
A nap kifejezései
»Adatszegmens
»Konstans
»Makró
» ugrás a wikire
Hírek
»Az általános műveltség része kellene, hogy legyen a programozni tudás?
»Újra programozni fog a Facebook alapítója és multimilliárdos elnöke
»Vizuális felülettervezőt adott ki .NET-es Android-alkalmazásfejlesztéshez a Xamarin
» több hír
PC Fórum hírek
»Elvennék és felhasználóinak adnák a Facebook összes pénzét
»Rejtélyes ikont dugdosgat a Microsoft a Windows 8-ban
»Út a Windows 8-ig - a Windows rendszerek három évtizedének története, képekben
»Mától bárki regisztrálhat a so.cl-ra, a Microsoft közösségi oldalára
»Megérkeztek az első képek az Unreal Engine 4 játékmotorról
»Itt az első videó a a Firefox Windows 8-as változatáról
»Nyártól akár 150 megabites nethozzáférést is ad az Invitel
»Kilenc kritikus biztonsági hibát javít az új Google Chrome
Top wikieditorok
»Sting
»Doi
»FlamingClaw
»Argathron
»Csaboka2
»Muki987
»NevemTeve
»Ivn
»Kelemzol
»Joexy
» ugrás a wikire