NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Datagrid WPF - binding bool pro checkblock (nebo radiobutton)

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Ježek Vít :25.4.2017 14:18

Ahoj, drobný problémek. Tahám data z databáze do Datagridu (WPF) a v databázi mám i jeden sloupec typu Bool (true/false), Datagrid mám v >AutoGenerate­Columns="False"< takže před kód napojím komplet dvě tabulky a v Datagridu si vyberu jen tři sloupce, z toho jeden je ten Bool. Jak mám zajistit (v XML), aby se mi při 'true' označil checkbox zatržítkem?

Odpovědět
25.4.2017 14:18
Nemyslím, tedy nejsem.
Avatar
Odpovídá na Ježek Vít
Michal Štěpánek:25.4.2017 15:47

Když ten sloupec budeš mít nabindovaný jako ostatní sloupce, tak bude nastavena vlastnost "ischecked"...
Takhle jsem si to udělal já...

<DataGridTemplateColumn Header="Účtovat" CellStyle="{StaticResource CenterCell}" Width="60">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <CheckBox Name="chbUcto" IsChecked="{Binding UctovatRozdil}" IsEnabled="False"/>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
25.4.2017 15:47
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Ježek Vít :25.4.2017 17:26

Super, to je ono!
Jasně. S IsChecked jsem namipuloval, ale Binding jsem do něj nedal.
Ještě... v závislosti na to se zeptám. Chtěl jsem mít IsEnabled na true, abych mohl měnit checkbox rovnou v datagridu, v tom případě chci použít Checked k zavolání metody, která z true udělá false a naopak.
Samostatně IsChecked a Checked funguje, ale společně ne. A teď přemýšlím, že to vlastně asi nejde kombinovat :-( ... ale jde to nějak zkombinovat?

Nahoru Odpovědět
25.4.2017 17:26
Nemyslím, tedy nejsem.
Avatar
Odpovídá na Ježek Vít
Michal Štěpánek:25.4.2017 17:59

Společně by to fungovat mělo, zkoukni možnosti bindingu (one way - two way). Po zaškrtnutí/od­škrtnutí bys měl "propsat" změny do zdroje dat, aby se ti následně objevily správné hodnoty v datagridu...

Nahoru Odpovědět
25.4.2017 17:59
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.