Laden...

WPF - Ausgewählte Reihen/Zellen aus DataGrid in TextBoxen übertragen

Erstellt von AnneRM vor 8 Jahren Letzter Beitrag vor 8 Jahren 1.746 Views
A
AnneRM Themenstarter:in
11 Beiträge seit 2015
vor 8 Jahren
WPF - Ausgewählte Reihen/Zellen aus DataGrid in TextBoxen übertragen

Hallöchen,

ich habe ein DataGrid und möchte in Textboxen ausgewählte Zellen daraus anzeigen lassen, jedoch kann ich das irgendwie nur bei einer TextBox weil ich es mit der überschriebenen ToString() MEthode mache, die kann ich nur einmal verwenden.

Im Internet finde ich nur Lösungen zu DataGridViews, die ich aber nicht auf mein DataGRid übertragen kann. Sie sehen meist so aus:

DataGridViewRow dr = dataGridView1.SelectedRows[0];
	textBox1.Text = dr.Cells[0].Value.ToString();
	textBox2.Text = dr.Cells[1].Value.ToString();

Wie kann ich das übertragen?

Oder kann ich noch eine andere Methode überschreiben und verwenden, ähnlich wie ToString()?

J
251 Beiträge seit 2012
vor 8 Jahren

jedoch kann ich das irgendwie nur bei einer TextBox weil ich es mit der überschriebenen ToString() MEthode mache

Was steht den in deiner ToString()-Methode nun? Wenn sie nur einmal anwendbar ist, vermute ich dort eher den Fehler. Bzw. welcher Fehler kommt, wenn du sie ein zweites mal aufrufst?

F
10.010 Beiträge seit 2004
vor 8 Jahren

@AnneRM:
Und warum benutzt du das seit 10 Jahren veraltete DG?
Ansonsten hör auf irgendwelche Daten herumzufrickeln und schau dir DataBinding an.

A
AnneRM Themenstarter:in
11 Beiträge seit 2015
vor 8 Jahren

das datagrid hab ich in xaml eingefügt, da gibt es kein datagridview...deshalb nehm ich wohl das DG ...

public override string ToString()
        {
            return this.Key; 
        }

das steht in der ToString Methode, damit eben nur der key angezeigt wird.

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Text;

namespace SereviceManager
{
    public class ConfigData
    {
        public string Key { get; set; }
       
        public string Value { get; set; }

        public ConfigData( string key, string value)
        {
            
            this.Key = key;
            this.Value = value;
        }
        public override string ToString()
        {
            return this.Key;
        }
        
    }

}

das wär dann mal die ganze configdata class

F
10.010 Beiträge seit 2004
vor 8 Jahren

Dann solltest du das auch dazu schreiben, denn so wie du bis jetzt dein Vorgehen beschreibst geht man davon aus das du eine total veraltete Technik benutzt.

Und zu WPF ( das du ja benutzt ) gehört Databinding als Elementare Grundlage.
Bevor du also weiter machst schau dir die Grundlagen zu Datanbinding an, dann erledigt sich diese Frage von alleine.

P
157 Beiträge seit 2014
vor 8 Jahren

Hallo,
es gibt in Wpf auch ein DataGridView...ist nur in nem ListView versteckt.

Aber das Thema Binding ist wirklich elementar was wpf angeht, dort arbeitet man normalerweise nicht mit den steuerelementen, sondern überträge daten vom Steuerlement zum ViewModel und wieder zurück. Dann musst du nicht parallel mit zwei Objekthierarchien arbeiten, sondern nur mit deinem Viewmodel. Das spart dir viel dusselige Arbeit(a=a' oder so ähnlich).

Beispiele findest du zu diesem Thema genug.

vg

Wenn's zum weinen nicht reicht, lach drüber!

5.299 Beiträge seit 2008
vor 8 Jahren

aber man findet nicht so viele Beispiele, wie man einen Auszug von mehrere Zellen an irgendetwas bindet.
Weil sowas ist zunächstmal nicht vorgesehen.
Datagrid ist ein Selector-Control, also man fein Datensätze selektieren.
Aber mehrere Zellen oder mehrere Zeilen - die kann man zwar selektieren, aber wie irgendetwas daran binden - naja, zumindest mir ist das unbekannt, und glaub auch nicht, dassses dazu die Masse an Beispiele gibt.

Aber die Frage ist auch unklar: Sollen wirklich verschiedene einzelne Zellen, frei verteilt im DG, selektiert werden?

Oder sollen verschiedene Zeilen selektiert werden (das wär immerhin einfacher)?

Der frühe Apfel fängt den Wurm.