IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
rawen
Člen
Avatar
rawen:29.6.2014 4:09

zdravím, uvízl jsem na takové asi vcelku jednoduché věci. Snažím se získávat hodnoty co mám v dataGridu. Ve WF jsem to dělal jednoduše:

dataGridView.Rows[i].Cells[j].Value

Ale tak nějak nemůžu přijít na to, jak to udělat ve WPF. Když napíšu něco ve smysli dataGrid.Items.. a program krokuju, tak v Items je položka SourceCollection, která pod indexy má ony udáje, které potřebuju, ale nedokážu přijít na to, jak se tam dostat. Budu rád za každý nápad jestli někoho něco napadá. :)

Odpovědět
29.6.2014 4:09
Co můžeš naprogramovat dnes, neodkládej na zítřek.
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na rawen
Jan Vargovský:29.6.2014 14:03

Jestli je to nějaká kolekce objektů (což předpokládám), tak to normálně můžeš projet cyklem

class A
{
    public int Prop1 { get; set; }
    public int Prop2 { get; set; }
    public int Prop3 { get; set; }
}

public MainWindow()
{
    InitializeComponent();
    ObservableCollection<A> collection = new ObservableCollection<A>();
    for (int i = 0; i < 3; i++)
        collection.Add(new A { Prop1 = i, Prop2 = i*i, Prop3 = i*i*i });
    dataGrid.ItemsSource = collection;


    foreach (A a in dataGrid.Items)
    {
        //Debug.WriteLine(a.GetType());
        Debug.WriteLine(string.Format("{0} - {1} - {2}", a.Prop1, a.Prop2, a.Prop3));
    }

    for (int i = 0; i < dataGrid.Items.Count; i++)
    {
        var a = dataGrid.Items[i] as A;
        Debug.WriteLine(string.Format("{0} - {1} - {2}", a.Prop1, a.Prop2, a.Prop3));
    }
}

Schválně jsem tam nechal i ten koment, protože to bere normálně i ten prázdný řádek, tak stačí nastavit

CanUserAddRows="False"

Jinak bys mu sel kontrolovat, jestli to je ten typ, který ty chceš.

Editováno 29.6.2014 14:04
 
Nahoru Odpovědět
29.6.2014 14:03
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 2 zpráv z 2.