Laden...
M
Mert93 myCSharp.de - Member
Schüler Türkei Dabei seit 25.10.2015 64 Beiträge
Benutzerbeschreibung

Forenbeiträge von Mert93 Ingesamt 64 Beiträge

04.11.2019 - 08:27 Uhr

Grüß dich LaTino:
Es können im ObservableCollection mehr als 2 Werte drinne enthalten sein.
Je nachdem wie viele Schaltungen der User berechnet haben will.
Wieso der Gesamtwiderstand nicht einfach nur die Summe aller Widerstände ist? Dass kannst du gerne unsere Kollegen aus der Mathematik ( Elektrotechnik ) fragen, .. Die Formel lautet aber wie folgt.
Rges = R1 +* R2 / R2 + R1
Rges = R12 * R3 / R12 + R3
RGes = R123 * R4 / R123 + R4
So wurde es uns zumindest beigebracht .
.

Und die Widerstände speichere ich in dem ObservableCollection.

Beispiel:
User gibt ein ( Widerstand 15, 8, 29, 4 ).
Nun wäre in dem ObservableCollection die Werte 15,8,29,4 gespeichert.
Diese müsste ich jetzt irgendwie verwenden um RGes auszurechnen. :c

04.11.2019 - 01:35 Uhr

Guten Abend liebe C#'ler-Gemeinde 😄

Ich stoße derzeit auf ein kleines Problem wo es mir schwer fällt einen Ansatz zu finden dieses zu lösen.
**Kernaufgabe: **
Ich versuche derweil eine Anwendung zu entwickeln welche mir die Widerstände von Schaltungen berechnet.

Mein bisheriger Ansatz
Ich speichere die Werte bisher in eine ObservableCollection<double>


        private ObservableCollection<double> schaltungenList = new ObservableCollection<double>();

        public ObservableCollection<double> SchaltungList
        {
            get { return schaltungenList; }
            set
            {
                schaltungenList = value; OnPropertyChanged();
            }
        }

        private void AddWiderstand()
        {
            if(Widerstand > 0)
            {
                SchaltungList.Add(widerstand);
            }
        }

und lasse Sie übersichtshalber dem user in eine Listbox anzeigen um später bei falscheingabe die Werte nochmal ändern zu können.

Problemstellung
Es kann nun sein, dass mehr als 2 Werte drinne enthalten sind. Wie kann ich jetzt auf den ObservacbleCollection ansprechen, dass er
Widerstandgesamt = Wert1 + Wert2.
Widerstandgesamt = Wert12 + Wert3.
Widerstandgesamt = Wert123 + Wert4 usw ?

Jemand eventuell ein Ansatz für mich wie ich an die Aufgabe heran gehen kann ?
Naher, wenn ich an die Parallelschaltung denke wie ich das Lösen soll läuft es mir schon Eiskalt den rücken runter ._.

17.06.2016 - 13:24 Uhr

Vielen dank für eure schnellen Antworten. 😃

Ich werde mich in die von euch genannten Service's mal einarbeiten und versuchen diese um zusetzten.
vielen dank nochmals 😄

16.06.2016 - 16:04 Uhr

verwendetes Datenbanksystem: <noch nicht bestimmt>

Hallo liebes Forum. 😃

Ich arbeite zur Zeit an der Planung einer UWA welches Auf Smartphone, Surface & Desktop laufen wird/soll.
Es geht im wesentlichen um die Speicherung von Vokabeln (Englisch, Deutsch, Französisch, Spanisch) und diese wieder abfragen. Später wird die App noch um einige Funktionen erweitert.
-> Speichern von Bildern, Terminen, Hausaufgaben, ect.

Nun meine frage, welche Datenbank würde sich dafür am besten eignen?

  • Die Daten sollten später auf allen Geräten Synch. werden können.

Es wäre toll, wenn ihr mir eventuell, wenn Ihr schon an solchen Projekten gearbeitet hab mal sagen könntet aus eurer Erfahrung, welche DB sich dafür gut eignen würde oder man doch auf XML greifen sollte.

Vielen dank schon einmal im vorraus

17.05.2016 - 10:54 Uhr

Ok, nachdem ich die Schriftgröße nun auf 14 eingestellt habe stimmt auch mit der Größe alles.

Also um ehrlich zu sein habe ich keine Ahnung.
Ich habe die Anwendung unter 3 Verschiedlicher Drucker getestet.
Sowohl Höhe als auch die Breite hat alles auf cm genau gepasst.

Wieso sollte es bei Bindings eigentlich nicht Funktionieren?
Sie Abstände hat ja mit dem Binding zum Inhalt nix zutun ?
Ob ich nun im CodeBehind in die Textbox einlese


<TextBlock x:Name="Betrag2" FontFamily="Times New Roman" FontSize="14" Canvas.Left="8.7cm" Canvas.Top="13.2cm" />

oder per Binding

<TextBlock Text="{Binding Betrag2}" FontFamily="Times New Roman" FontSize="14" Canvas.Left="8.7cm" Canvas.Top="13.2cm" />

Die Abstände bleiben doch in der XAML die selben? oder verwechsle ich da jetzt irgendwas?

17.05.2016 - 10:21 Uhr

Bhaal: Ich werde dein Rat beherzigen und mich in die Transaktion mal durchlesen und sie in die Anwendung mit einbauen. Vielen dank. 😃
FZelle: Ja, habe zwar anfangs überlegt die Daten in XML abzuspeichern doch habe mich Schluss endlich doch für eine locale Datenbank entschieden, da es mir leichter fällt diese im Netzwerk freizugeben. Ob/Wie man die XML datei/n im Netzwerk freigibt daran hab ich bisher noch nicht gearbeitet/mich darin eingelesen so wurde sich halt dafür entschieden. =)
Die Anwendung wird später auf 4 verschiedenen Festplatten (1 Computer), ein Laptop und ein weiteren Computer im Hause laufen.

17.05.2016 - 10:08 Uhr

 <Canvas Width="21cm" Height="29.6cm" x:Name="PrintCanvas">
<TextBlock x:Name="Datum1" FontFamily="Times New Roman" Canvas.Left="1.5cm" FontSize="14"/>
</canvas>

?? Nach dem drucken sind es exakt 1.5cm Abstand von Links? 😮
Nur mit der Höhe stimmt es nicht so ganz.

16.05.2016 - 23:31 Uhr

Abt:
Du bist zum Vergöttern. 😄
Vielen lieben dank. 😄

Ein Problem habe ich noch allerdings werde ich dafür ein neues Thread eröffnen, da das Problem nicht zu diesem Thema passt.
Vielen dank Abt. 😃

16.05.2016 - 23:29 Uhr

Th69, MrSparkle & Chilic:
Vielen dank für eure Antworten, Tipps und Tricks. 😃

Ich habe es nun Geschaft, dass Canvas zu Drucken.
Ich habe nur noch Probleme mit der Positionierung im Canvas.
Obwohl ich alle angaben in cm Angegeben habe und dem Canvas die Größe eines DIN-A4 Blattes verpasst habe stimmen meine Höhen bisher noch nicht. Aber ich schätze mal auch dies wird sich mit etwas experementieren legen. =)

Ich werde mir eure Ratschläge zu Herzen nehmen und mich näher in die von euch gegebenen Tipps einarbeiten. Vielen lieben dank euch noch einmal. =)

Für die Nachwelt: Für eine schnelle Notlösung sind die Links von Th69 sehr empfehlenswert. (Y)

16.05.2016 - 17:44 Uhr

Also ich hab mir jetzt ein komplett neues Projekt erstellt.

Die wichtigsten Daten übernommen.
Über den Nuget das hier runtergeladen
Install-Package System.Data.SQLite
PS: Ist das, was du mir den Link geschickt hast

Im debuger funktioniert alles. Sollte ich das Projekt veröffentlichen bekomm ich die Meldung, dass die sqlite.interop.dll fehlen würde bzw das das Model nicht gefunden wurde.
Woher bekomm ich den die sqlite.interop.dll her ?

16.05.2016 - 17:31 Uhr

Ok. Ich versuche mal das Projekt von vorne zu beginnen und hoffen, dass ich den Fehler irgendwo eingrenzen kann.

Vielen dank.

16.05.2016 - 17:03 Uhr

Ja, allerdings habe ich die Anwendung nun sowohl unter x86 als auch x64 Veröffentlich/Debuggt jedoch taucht die fehlermeldung weiterhin auf.

16.05.2016 - 16:57 Uhr

Ich hab sämtliche DLLS nun in mein Projekt gebunden

  • sqlite3.dll
  • sqlite3-def
  • sqlite.interop.dll

Was ich seltsam finde ist, sollte ich die Interop.dll nicht eingebunden haben, wird mir im Debugger alles normal angezeigt (Nur beim Starten erhalte ich 1x die Meldung, dass versucht wurde, eine falsche format zu laden ....)
Jedoch wenn ich das Projekt ohne der Interop.dll veröffentliche funkt. nix mehr.
(Mir werden keine Daten, Adressen, Kontostände ect angezeigt)

16.05.2016 - 16:26 Uhr

Abt:

Alles schon erledigt. Leider kein Erfolg gehabt.
Any CPU | x86 | 64
Leider kam die Fehlermeldung trotzdem weiterhin

16.05.2016 - 16:01 Uhr

verwendetes Datenbanksystem: <SQLite>

Hallo liebes Forum.

Seit jetzt ca einer bis zwei Stunden erhalte ich stets die Fehlermeldung BadImageFormatException
in der Zeile


using (SQLiteConnection cnn = new SQLiteConnection(@"Data Source=" + App.dbPath))

Was ich daran nicht verstehe ist, dass die Fehlermeldung solange nicht aufgetaucht ist bis ich die Anwendung veröffentlicht habe im VS. Vorher im Debuger keine Meldung, nach der veröffentlichung auch im Debugger die Fehlermeldung.

Das was ich über den Fehler weiß ist, dass wen man bei einem 32bit eine 64bit Version eingefügt hat.

Ich habe es nun "mehrmals" mit sowohl 32 als auch der 64 Version des sqlites versucht, leider keine besserung. Die Fehlermeldung erscheint dennoch hartnäckig weiter.

Kennt jemand eventuell eine anderen Grund weshalb die Meldung kommen könnte?

PS: Wenn ich um alles ein Try-Catch block rumbaue erhalte ich die meldung:> Fehlermeldung:

Es wurde versucht, eine Datei mit einem falschen Format zu laden. (Ausnahme von HRESULT: 0x800700B)

16.05.2016 - 12:28 Uhr

Hallo Th69:
Vielen dank für deine schnelle Antwort.

Ich hab den Überweisungsfomular ja schon selbst nachgebaut und die Daten sind alle im Canvas eingetragen. Nun hatte ich wie im Code oben geschrieben gedacht, dass ich dann den Canvas einfach drucken könnte so wie es dann ist.
Hatte leider bei meinen Suchanfragen "c# wpf print canvas control" ect immer nur den Codeausschnitt bekomm, denn ich auch hier gepostet hatte.
Doch gedruckt wurde ledeglich eine Leere seite.

Eine Vorlage klingt nicht schlecht, jedoch ist das Überweisungsfomular ein eigen angefertigtes welches mein Nachbar bestellt hatte. Ich habe einige Vorlagen davon hier und so dachte ich wäre es einfacher einfach den im Canvas nachzubauen, Daten einzutragen wo Sie hingehöen und diesen dan einfach auszudrucken.

16.05.2016 - 11:55 Uhr

Ist es nicht möglich meine Daten in ein Canvas zu zeichen und dan einfach den Canvas zudrucken?
s.ä. wie

PrintDialog p = new PrintDialog();
            if(p.ShowDialog() == true)
            {
                p.PrintVisual(PrintCanvas, "Drucken");
                
            }

MrSparkle: Mein Problem ist das einfach Drucken von Strings in den jeweiligen Platz bei einer überweisung.

Also ich weiß nicht wie ich überhaupt anfangen soll.
Am einfachsten wäre es natürlich, meine Daten in ein Canvas (DINA4 Größe) einzuzeichnen und diesen dan zu Drucken jedoch finde ich leider keinen Ansatz dafür um ein Canvas auch wirklich mit Text zu drucken

15.05.2016 - 20:46 Uhr

Hallo liebes Forum. 😃

Ich bin z.Z. auf der suche nach einer Klasse/Tutorial/Videos/Buch o.ä. as mir bei meinem derzeit anstehend Problem behilflich sein könnte.
Mein vorhaben ist der, dass ich von meiner Anwendung eine Überweisung ausdrucken möchte mit den Werten aus meiner Datenbank.

Ich konnte bisher keine Ansätze finden, wie ich sowas realisieren könnte.
Ich schätze mal, eine helper-class worin ich beispielsweise meine Daten und den Abstand von Links & Oben eingeben muss gibt es leider nicht ähnlich wie


PrintHelperClass phc = new PrintHelperClass();
phc.Text("KontoInhaber", 25,75);
phc.Text("KontoInhaberWohnort", 25,95);
// .. usw

Hätte von euch eventuell jemand eine Idee, Buchempfehlung, Video-tutorialreihe o.ä. was mir bei meinem Problem behilflich sein könnte?
Oder Tipps, wie ich an sowas rangehen könnte?
PS: Die Anwendung ist in WPF entwickelt.

15.05.2016 - 18:47 Uhr

LaTino: Vielen dank für deine Tipps:
Konnte das problem nun beheben.


CultureInfo EnglishCulture = new CultureInfo("en-GB");
                _Betrag = double.Parse(EinzahlungsBetrag.Text, CultureInfo.InvariantCulture);
                _NeuerkontoStand = _kontoStand + _Betrag;

Und die query habe ich nun soweit verändert. Hoffe dies ist C# Akzeptabel. .


cmd.Parameters.AddWithValue("@NeuerKontoStand", _NeuerkontoStand);
                                cmd.Parameters.AddWithValue("@ID", _ID);
                                cmd.CommandText = "UPDATE Konto SET KontoStand = @NeuerKontoStand WHERE ID = @ID";
15.05.2016 - 17:05 Uhr

oook..
An sowas hab ich jetzt garnicht gedacht. Kann mir leider auch nix darunter vorstellen.
Hättest du ein Link für mich zur Tutorials, Aufklärung o.ä. ?

15.05.2016 - 16:57 Uhr

Hallo liebes Forum. =)

Ich hätte eine kleine Frage an euch.
Ich versuche z.Z. eine kleine Anwendung zur Verwaltung von Ausgaben/Einnahmen zu entwickeln und leide wohl unter dem "sehe den Wald vor lauter Bäumen nicht" Phänomen.

In der Anwendung werden Daten wie unter anderem der Kontostand (double) gespeichert (Beispielsweiße 125.77€)
Nun kann man sich per Klick in dem Konto einen bestimmten Betrag einzahlen lassen.


try
                            {
                                cmd.CommandText = "UPDATE Konto SET KontoStand = '" + _NeuerkontoStand + "' WHERE ID = '" + _ID +"'";
                                if (cmd.ExecuteNonQuery() > 0)
                                {
                                    MessageBox.Show("Wir haben den Betrag " + _Betrag.ToString() + "€ erfolgreich auf Ihrem Konto gebucht.");
                                    this.Close();
                                }
                            }
                            catch (Exception ex)
                            {
                                MessageBox.Show("Wir konnten den Betrag: " + _Betrag.ToString() + "€ leider nicht auf Ihrem Konto buchen" + Environment.NewLine + ex.Message);
                            }

Nun mein Problem.

Wenn in der Datenbank beispielsweiße 77**.**77 abgespeichert ist
und ich lasse 22**,**22 zum Konto hinzufügen. So erhalte ich in der Datenbank den Wert 99**,**99 Soweit wäre dies kein Problem jedoch beim erneuten auslesen des Kontostands erhalte ich eine Fehlermeldung, da 99**,**99 kein double ist/sei, wegen dem Komma.

Wenn ich in der DB den Wert 77**,**77 habe, ließt er diesen nicht aus, aus dem Grund wie eben gesagt da dies kein double ist/sei.

Nun zur letzten möglichkeit, wenn ich in der DB den Wert 77**.**77 abgespeichert habe und füge 22**.**22 hinzu, so fügt er dem Konto 2222 hinzu und komme zum Ergebnis 2299,99 was ja auch falsch ist.

Der Betrag wird "noch" ungeprüft eingegeben, da ich um ehrlich zu sein an diesen nicht gedacht habe aber wird ja von mir richtig eingegeben der Betrag.


_Betrag = Convert.ToDouble(EinzahlungsBetrag.Text);
                _NeuerkontoStand = _kontoStand + _Betrag;

Ausgelesen wird der Kontostand so


cmd2.CommandText = "SELECT * FROM Konto where Bankinstitut ='" + einzahlungAnKonto.Text + "'";
                        using (SQLiteDataReader dr = cmd2.ExecuteReader())
                        {
                            while (dr.Read())
                            {
                                _kontoStand = dr.GetDouble(3);
                                _ID = dr.GetInt32(0);

                            }
                            cnn.Close();
                        }

PS: Der Nutzer kann in einem ComboBox ein Konto auswählen und von dem Konto wird dan der Kontostand ausgelesen und in die variable _kontoStand gespeichert.

Weiß jemand wo mein Fehler liegt? Oder mir ein Lösungsvorschlag nennen?
Mit herum experementieren bin ich leider nicht weiter gekommen 😕

23.02.2016 - 16:09 Uhr

FZelle:
Meinst du mich? in wiefern greift meine View direkt auf das Model zu ?
ErfinderDesRades:
Aber mit einander kombiniert ist es schon zufriedenstellend. 😄
Man'n' soll bzw muss ja schließlich das Pattern zu 100% umsetzten. 😄

Für so ein kleines Lernprojekt müsste aber ein VM ja auslangen.

Sollte es ein größeres Projekt sein würde ich dir recht geben, dass Speichern, Löschen, Bearbeiten, Auswählen ect in einem dafür extra angelegten VM zu übertragen.
Später würde ich es dan ca so gestalten.

[Models]
MyModel
MyModel2

[ViewModels]
ViewModelBase | INotifyPropertyChanged, ICommand ect implemented,
MainViewViewModel | Vm für das Hauptfenster
View1ViewModel | Propertys von View1, Commands ect
View2ViewModel | Propertys von View12, Commands ect
DatabaseViewModel | Insert, Select, Update, Delete, OrderBy ect

[Views]
MainView
View1
View2

So ungefähr

22.02.2016 - 12:53 Uhr

Abt, ErfinderDesRades & Marcel:

Vielen dnak für eure Ratschläge, Verbesserungsvorschläge und Tipps. 😃

Ich werde zu sehen, dass ich die von euch genannten Hilfen in meine Projekte einbeziehe und mich so wieder ein Stück weiter in richtung Sauberes Entwickeln bewege. 😄

21.02.2016 - 15:18 Uhr

Hier die View

<Grid Grid.Row="0" Margin="3">
            <StackPanel Orientation="Horizontal">
                <TextBlock Text="Name:"/>
                <TextBox x:Name="tbxName" Width="120" Text="{Binding Name, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="5,0,0,0"/>
                <TextBlock Text="Vorname:" Margin="5,0,0,0"/>
                <TextBox x:Name="tbxVorname" Width="120" Text="{Binding Vorname, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="5,0,0,0"/>
                <TextBlock Text="Wohnort:" Margin="5,0,0,0"/>
                <TextBox x:Name="tbxWohnort" Width="120" Text="{Binding Wohnort, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="5,0,0,0"/>
            </StackPanel>
        </Grid>

        <DataGrid IsReadOnly="True" x:Name="DG"  SelectionMode="Single" CanUserAddRows="False" FontSize="16" SelectedItem="{Binding SelectetContact}" Grid.Row="1" ItemsSource="{Binding Contacts, Mode=TwoWay, NotifyOnSourceUpdated=True}" AutoGenerateColumns="False">
            <DataGrid.Columns>
                <DataGridTextColumn Header="Name:" Binding="{Binding Path=Name, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Width="1*"/>
                <DataGridTextColumn Header="Vorname:" Binding="{Binding Path=Vorname, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Width="1*"/>
                <DataGridTextColumn Header="Wohnort:" Binding="{Binding Path=Wohnort, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Width="1*"/>
            </DataGrid.Columns>
        </DataGrid>

        <StackPanel Orientation="Horizontal" Grid.Row="2">
            <Button Content="Save" Width="150" Grid.Row="1" Height="35" Command="{Binding AddNewItemCommand}"/>
            <Button Content="Delete" Width="150" Grid.Row="1" Height="35" Command="{Binding Delete}"/>
            <Button Content="Edit" Width="150" Grid.Row="1" Height="35" Command="{Binding Update}"/>
        </StackPanel>

Hier mein gesamtes ViewModel


public ContactsViewModel()
        {
            GetContacts();
        }

        #region INotifyPropertyChanged
        public event PropertyChangedEventHandler PropertyChanged;

        protected virtual void RaisePropertyChanged(string propertyName)
        {
            var handler = this.PropertyChanged;
            if (handler != null)
            {
                handler(this, new PropertyChangedEventArgs(propertyName));
            }
        }
        #endregion

        #region Propertys
        private readonly Contact _contact = new Contact();

        private ObservableCollection<Contact> contacts;
        public ObservableCollection<Contact> Contacts
        {
            get { return contacts; }
            set
            {
                if (contacts != value)
                    contacts = value; RaisePropertyChanged("Contacts");
            }
        }

        private Contact selectetcontact;
        public Contact SelectetContact
        {
            get { return selectetcontact; }
            set
            {
                if (selectetcontact != value)
                    selectetcontact = value; RaisePropertyChanged("SelectetContact");

            }
        }

        private string name;
        public string Name
        {
            get
            {
                return name;
            }

            set
            {
                if (name != value) name = value; RaisePropertyChanged("Name");
            }
        }

        private string vorname;
        public string Vorname
        {
            get
            {
                return vorname;
            }

            set
            {
                if (vorname != value) vorname = value; RaisePropertyChanged("Vorname");
            }
        }

        private string wohnort;
        public string Wohnort
        {
            get
            {
                return wohnort;
            }

            set
            {
                if (wohnort != value) wohnort = value; RaisePropertyChanged("Wohnort");
            }
        }

        private int id;
        public int ID
        {
            get
            {
                return id;
            }

            set
            {
                if (id != value) id = value; RaisePropertyChanged("ID");
            }
        }
        #endregion
        
        #region Add
        public ObservableCollection<Contact> GetContacts()
        {
            contacts = new ObservableCollection<Contact>();
            using (var db = new SQLiteConnection(App.dbPath))
            {
                var query = db.Table<Contact>();
                foreach (var _contact in query)
                {
                    var contact = new Contact()
                    {
                        Name = _contact.Name,
                        Vorname = _contact.Vorname,
                        Wohnort = _contact.Wohnort,
                        ID = _contact.ID,
                    };
                    contacts.Add(contact);
                }
            }
            return contacts;
        }
        
        public ICommand AddNewItemCommand
        {
            get
            {
                return new DelegateCommand(this.OnAdd);
            }

        }
        
        private void OnAdd()
        {

            using (var db = new SQLiteConnection(App.dbPath))
            {

                if (Name == string.Empty)
                {
                    MessageBox.Show("Bitte geben Sie einen Name ein!");
                }
                else
                {
                    var s = db.Insert(new Contact() { Name = Name, Vorname = Vorname, Wohnort = Wohnort });
                    Contacts = null;
                    Contacts = GetContacts();
                    clear();
                }
                db.Close();
               
            }
        }
        #endregion

        #region delete
        public ICommand Delete
        {
            get
            {
                return new DelegateCommand(this.OnDelete);
            }

        }

        private void OnDelete()
        {
            if(SelectetContact != null)
            {
                var conn = new SQLiteConnection(App.dbPath);
                var s = conn.Query<Contact>("delete from Contact where ID = " + SelectetContact.ID);
                conn.Dispose();
                conn.Close();
                Contacts = null;
                Contacts = GetContacts();
                clear();
            }
        }
        #endregion

        #region update
        public ICommand Update
        {
            get
            {
                return new DelegateCommand(this.OnUpdate);
            }

        }

        private void OnUpdate()
        {
            var conn = new SQLiteConnection(App.dbPath);
            var s = conn.Query<Contact>("update Contact SET Name = '"+Name+"', Vorname = '"+Vorname+"', Wohnort ='"+Wohnort+"' where ID = " + SelectetContact.ID);
            conn.Dispose();
            conn.Close();
            Contacts = null;
            Contacts = GetContacts();
            clear();
        }
        #endregion

        #region Selected
        // ???
        #endregion
21.02.2016 - 15:02 Uhr

ErfinderDesRades:
Ja, funktionieren tut es, wenn ich mir in den Textboxen ausschließlich nur die Daten anzeigen lassen wollen würde.

Aber die Daten zum abspeichern kommen ebenfalls von dort daher kann ich nicht auf SelectedContact.Name binden.


public ICommand AddNewItemCommand
        {
            get
            {
                return new DelegateCommand(this.OnAdd);
            }

        }
        
        private void OnAdd()
        {

            using (var db = new SQLiteConnection(App.dbPath))
            {

                if (Name == string.Empty)
                {
                    MessageBox.Show("Bitte geben Sie einen Name ein!");
                }
                else
                {
                    var s = db.Insert(new Contact() { Name = Name, Vorname = Vorname, Wohnort = Wohnort });
                    Contacts = null;
                    Contacts = GetContacts();
                    clear();
                }
                db.Close();
               
            }
        }
20.02.2016 - 19:49 Uhr

Srry für die Gross Schreibung fehler. Bin mit dem Handy on und mit dem Handy zu schreiben ist manchmal sehr nervig ^^

20.02.2016 - 19:47 Uhr

ErfinderDesRades:
Die Textboxe sind schon an die jeweiligen Propertys gebunden.
Ebenfals im ContactViewModel


private Contact selectedContact;
public Contact SelectedContact
get { return selectedContact; }
set { if(SelectedContact != value) SelectedContact = Value;OnPropertyChanged("SelectedContact");
}

private string name;
public string Name 
{
get { return name; }
set { if(name != Value) name = Value; OnPropertyChanged("Name");
}

// und so weiter

Jetzt weis ich nur nicht wie ich, wenn im DG ein Kontakt ausgewaehlt ist die Daten an die tbx uebergebe.

20.02.2016 - 16:33 Uhr

Hallo liebes Forum. 😃
Um mich an das MVVM Pattern etwas besser zu gewöhnen starte ich hin und wieder kleinere Projekte (oder erweitere die alten) um mich mit dne Pattern wie gesgat zu gewöhnen.

Nun bin ich grad an ein kleines "Problem'chen" gestoßen und zwar wie ich meine Selectieren Contact wieder in den Textboxen anzeigen lassen kann.

Mein UI


<Grid Grid.Row="0" Margin="3">
            <StackPanel Orientation="Horizontal">
                <TextBlock Text="Name:"/>
                <TextBox x:Name="tbxName" Width="120" Text="{Binding Name, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="5,0,0,0"/>
                <TextBlock Text="Vorname:" Margin="5,0,0,0"/>
                <TextBox x:Name="tbxVorname" Width="120" Text="{Binding Vorname, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="5,0,0,0"/>
                <TextBlock Text="Wohnort:" Margin="5,0,0,0"/>
                <TextBox x:Name="tbxWohnort" Width="120" Text="{Binding Wohnort,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="5,0,0,0"/>
            </StackPanel>
        </Grid>

<DataGrid CanUserAddRows="False" IsReadOnly="True" FontSize="16" SelectedItem="{Binding SelectetContacts}" Grid.Row="1" ItemsSource="{Binding Contacts, Mode=TwoWay, NotifyOnSourceUpdated=True}" AutoGenerateColumns="False">
            <DataGrid.Columns>
                <DataGridTextColumn Header="Name:" Binding="{Binding Path=Name, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Width="1*"/>
                <DataGridTextColumn Header="Vorname:" Binding="{Binding Path=Vorname, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Width="1*"/>
                <DataGridTextColumn Header="Wohnort:" Binding="{Binding Path=Wohnort, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Width="1*"/>
            </DataGrid.Columns>
        </DataGrid>

ViewModel


        private Contact selectetcontacts;
        public Contact SelectetContacts
        {
            get { return selectetcontacts; }
            set
            {
                if (selectetcontacts != value)
                    selectetcontacts = value; RaisePropertyChanged("SelectetContacts");

            }
        }

Wo in mein ViewModel muss ich jetzt auf das SelectetContacts zugreifen um die wieder an mein TextBox zu binden?

Ich habe vorerst im Konstruktor gedacht das dies Funktionieren würde, war leider falsch gedacht. Aber auch logisch, da beim Aufruf des Konstruktors SelectetContacts ja immer null ist.


public ContactViewModel()
{
if(SelectetContacts != null)
{ 
Name = SelectetContacts.Name;
// und so weiter....
}
}

Nun weiß ich nicht, wo ich nun darauf zugreifen muss 😒
Ich könnte zwar im CodeBehind mit DataGrid_SelectionChanged darauf zugreifen aber würde es ungern im CodeBehin machen. Wenn ich mich schon an das Pattern halten will dann aber auch richtig.

Hättet ihr eventuell einAnsatz, Link, Stichwörter für mich?

30.01.2016 - 09:32 Uhr

ErfinderDesRades:
Das Programm ist für einen Nachbar gedacht, der unter starker Seeschwäche leidet.
Es wird nicht von Nöten sein, mehr als einen Kontakt abzuspeichern und wieder anzeigen zu lassen.
Ich hatte vorerst auch in Planung, aus mein DT die Daten zu speichern, jedoch da der Nachbar ein Vergrößerung's Programm nutzt und sich alles bis zu 6x-7x Vergrößern lässt am Bildschirm würde man im DataGrid dann nach genug einträgen nicht mehr sehen können, was nun in welchen Feld eingetragen werden müsste.
So erschien mir zumindest, dass es so doch schon besser ist.
PS: Schließlich lernt man ja auch nicht am Tag mehrere Menschen kennen 😁

29.01.2016 - 22:19 Uhr

Palladin007:
Das sind meine Privat deklarierten Variablen in der AdressenViewModel
PS: Habe nur die eine ViewModel klasse, da das Programm eigentlich weiter sonst nix tuen braucht, ich mich in mvvm mal weiter ausbauen wollte habe ich die beiden einfach vereint. . Auch wen für die kleine Anwendung Code-Behind eigentlich auch getan hätte.


private string _anrede;
private string _name;
//.....

public string Anrede
{
get { return this._anrede; }
set 
{
if(this._anrede != value)
this._anrede = value;
NotifyPropertyChanged();
}
// .. und so weiter
29.01.2016 - 17:05 Uhr

Ok, die Daten an das DataGrid bekomm ich nun gefüllt.
Ich hab nur noch 2 kleine probleme.

  1. Wenn ich Daten abspeichere wird mein DataGrid nicht mit den neuen Daten gefüllt, außer ich beende die Anwendung und öffne Sie erneut.
  2. In mein DataGrid hab ich nen Button, dass man sich die Daten in den TextBoxen wieder anzeigen lassen kann, dies klappt jedoch nicht, wenn der Button in mein DataGrid ist.

Das INotifyPropertyChanged ist implementiert, hatte es auch mit PRISM versucht, hat auch nicht soganz Funktioniert.

Habt Ihr eventuell ein anderen Lösungsweg für mich?


<DataGrid Style="{StaticResource AzureDataGrid}" FontSize="17" AutoGenerateColumns="False" 
                      ItemsSource="{Binding AllContacts}" IsReadOnly="True"
                      SelectionMode="Single" SelectedValue="{Binding SelectedContact}" CanUserAddRows="False">
                <DataGrid.Columns>
                    <DataGridTemplateColumn Width="135" Header="Auswählen">
                        <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <Button Content="Auswählen" Command="{Binding Select}" Margin="6"/>
                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>
                    </DataGridTemplateColumn>
                    <DataGridTextColumn Header="Anrede" Binding="{Binding Anrede}" Width="105" FontSize="18"/>
                    <DataGridTextColumn Header="Name" Binding="{Binding Name}" Width="1*" FontSize="18"/>
                </DataGrid.Columns>
            </DataGrid>



private ObservableCollection<Adressen> _allContacts;
private Adressen _selectedContact;

        public ObservableCollection<Adressen> AllContacts
        {
            get { return this._allContacts; }
            set
            {
                if(_allContacts != value)
                {
                    _allContacts = value;
                    NotifyPropertyChanged();
                }
                
            }
        }

        public Adressen SelectedContact
        {
            get { return _selectedContact; }
            set
            {
                if(value!= this._selectedContact)
                {
                    this._selectedContact = value;
                    NotifyPropertyChanged();
                }
            }
        }

#region SaveCommand
RelayCommand _saveContact;
        public ICommand SaveContact
        {
            get
            {
                if (_saveContact == null)
                {
                    _saveContact = new RelayCommand(param => this.makeSaveContact(), param => true);
                }
                return _saveContact;
            }
        }

private void makeSaveContact()
        {
            using (var db = new AdressenEntityModel())
            {
                Adressen a = new Adressen();
                a.Anrede = _anrede;
                a.Name = _name;
                a.Vorname = _vorname;
                a.Geburtsdatum = _geburtsdatum;
                a.Ort = _ort;
                a.Postfach = _postfach;
                a.Strasse = _strasse;
                a.PLZ = _plz;
                a.Email = _email;
                a.Homepage = _homepage;
                a.TelefonBeruf = _telB;
                a.TelefonMobile = _telM;
                a.TelefonPrivat = _telP;
                a.Faxnummer = _faxnummer;
                a.IBAN = _iban;
                a.BIC = _bic;
                a.Anmerkung = _anmerkung;
                a.Bundesland = _bundesland;

                db.Adressen.Add(a);
                db.SaveChanges();
                GetDatas();
            }
        }
#endregion

#region Selected
        RelayCommand _select;
        public ICommand Select
        {
            get
            {
                if (_select == null)
                {
                    _select = new RelayCommand(param => this.Selected(), param => true);
                }
                return _select;
            }
        }

        private void Selected()
        {
            Name = _selectedContact.Name;
            Anrede = _selectedContact.Anrede;
            Vorname = _selectedContact.Vorname;
            Geburtsdatum = _selectedContact.Geburtsdatum;
            
        }
        #endregion


29.01.2016 - 16:58 Uhr

Ja, wenn man sich aber sicher ist, dass man die DLL's enthalten hat ist es schon seltsam, deshalb die FM zu erhalten x)

29.01.2016 - 16:03 Uhr

Hatte die DLL eigentlich enthalten gehabt ist aber wohl beim PC absturz nicht gespeichert worden sein. 😦

Ok, jetzt läufts auf jedenfall wieder. 😄 Vielen dank Abt.

29.01.2016 - 14:58 Uhr

Abt:
Nichts. Die Anwendung läuft einwandfrei wie Sie sollte. Keine Meldung, Keine Warnung, garnichts.
Und auch hier nichts.
Es ist der selbe Rechner auf dem ich es Entwickle und auch Installieren wollte.

29.01.2016 - 12:56 Uhr

verwendetes Datenbanksystem: <SQLite>
Guten Tag. 😃

Ich hab nun versucht, meine SQLite-DB in das Projekt einzubinden mit dem SQLite.NET.

Im Debug-Mode funktioniert die Anwendung wie Sie eigentlich soll.
Erhalte keinerlei Fehlermeldung, alles wie gewollt.
Wenn ich die Anwendung nun veröffentliche und Installieren will erhalte ich die Meldung.> Fehlermeldung:

"Der Typeninitalisierer für "SQLite.Net.Platform.Win32.SQLiteApiWin32Internal" hat eine Ausnahme verursacht"


public static SQLite.Net.Platform.Win32.SQLitePlatformWin32 SQLITE_PLATFORM = new SQLite.Net.Platform.Win32.SQLitePlatformWin32();

Weiß eventuell einer was ich da falsch mache ? 😒 oder Hat eventuell eine Vermutung Parat woran das liegt oder besser wie ich den Fehler beseitigen könnte? 😒

27.01.2016 - 00:20 Uhr

verwendetes Datenbanksystem: <SQLite>

Schönen Abend liebe c#'ler/rinnen. 😃

Ich hab ein kleines "Problem'chen" in meiner Datenbank die da wäre, dass ich bisher kein ansatz gefunden habe wie ich meine ID wieder zurücksetzten kann nachdem ein Eintrag gelöscht wurde?

Beispiel:

ID-----Name-----Alter
1------Markus-----26-
2------Conrad-----38-
3------Max---------18-
4------Peter--------21-
5------Muster------45-

Sollte hier Eintrag 3 Gelöscht werden so ist die fortlaufende ID 1--2--4--5.
Gibt es in SQLite überhaupt eine möglichkeit die ID's wieder auf 1--2--3--4 zu setzten, nachdem ein Eintrag gelöscht wurde?
ID = PK AI

SQLite bietet ja leider nicht die möglichkeit ein column mit DROP zu löschen <.<

25.01.2016 - 20:31 Uhr

Palladin007:
Ja, die sind enthalten.

modelBuilder.Entity<Adressen>()
                .Property(e => e.ID);

            modelBuilder.Entity<Adressen>()
                .Property(e => e.Anrede)
                .IsUnicode(false);

            modelBuilder.Entity<Adressen>()
                .Property(e => e.Name)
                .IsUnicode(false);

Und das MainWindowViewModel enthält



    public class MainWindowViewModel : INotifyPropertyChanged
    {
private string _Anrede, _Name, _Vorname;
private int _ID;

private ObservableCollection<Adressen> _Auflistung;
        private ObservableCollection<AdressModel> _AuflistungSelected;

        public ObservableCollection<AdressModel> AuflistungSelected
        {
            get { return _AuflistungSelected; }
            set
            {
                if (_AuflistungSelected != value)
                { _AuflistungSelected = value; NotifyPropertyChanged(); }
            }
        }

        public ObservableCollection<Adressen> Auflistung
        {
            get { return this._Auflistung; }
            set
            {
                if (_Auflistung != value)
                { _Auflistung = value; NotifyPropertyChanged(); }
            }
        }

        public int? ID
        {
            get { return _ID; }
            set { if (_ID != value) { _ID = value; } }
        }

        public string Anrede
        {
            get { return _Anrede; }
            set
            {
                if (_Anrede != value)
                { _Anrede = value; NotifyPropertyChanged(); }
            }
        }

        public string Name
        {
            get { return _Name; }
            set
            {
                if (_Name != value)
                { _Name = value; NotifyPropertyChanged(); }
            }
        }
      
}
25.01.2016 - 15:34 Uhr

Ok. Ich sehe, dass ich wohl "einige" falsche Wege eingeschlagen habe. x)

Ich schau mal im Netz ob ich ein nutzsbares Tutorial zu dem Thema C#, WPF, SQLite + EntityFramework was finde. =)

Danke für eure mühen. x.x

PS: AdressModel ist von EF selbst erzeugte Klasse mit dem DbSet.

25.01.2016 - 13:49 Uhr

Hallo liebes Forum. 😃
Ich versuche grade mein DataGrid mit den Daten aus meiner DB zu füllen doch wird mir leider nix angezeigt. 😦

Mein DataGrid

<DataGrid x:Name="adressenDataGrid" AutoGenerateColumns="False" EnableRowVirtualization="True" SelectedItem="{Binding AuflistungSelected}" ItemsSource="{Binding Auflistung}" CanUserAddRows="False" RowDetailsVisibilityMode="VisibleWhenSelected">
                <DataGrid.DataContext>
                    <ViewModels:MainWindowViewModel/>
                </DataGrid.DataContext>
                <DataGrid.Columns>
                    <DataGridTextColumn x:Name="iDColumn" Binding="{Binding ID}" Header="ID" Width="55"/>
                    <DataGridTextColumn x:Name="anredeColumn" Binding="{Binding Anrede}" Header="Anrede" Width="95"/>
                    <DataGridTextColumn x:Name="nameColumn" Binding="{Binding Name}" Header="Name" Width="1*"/>
                </DataGrid.Columns>
            </DataGrid>

MeinWindowViewModel


        private ObservableCollection<AdressModel> _Auflistung;
        private ObservableCollection<AdressModel> _AuflistungSelected;

        public ObservableCollection<AdressModel> AuflistungSelected
        {
            get { return _AuflistungSelected; }
            set
            {
                if (_AuflistungSelected != value)
                { _AuflistungSelected = value; NotifyPropertyChanged(); }
            }
        }

        public ObservableCollection<AdressModel> Auflistung
        {
            get { return this._Auflistung; }
            set
            {
                if (_Auflistung != value)
                { _Auflistung = value; NotifyPropertyChanged(); }
            }
        }


#region Kontakt Speichern
        RelayCommand _saveContact;
        public ICommand SaveContact
        {
            get
            {
                if (_saveContact == null)
                {
                    _saveContact = new RelayCommand(param => this.makeSaveContact(), param => IsTrue());
                }
                return _saveContact;
            }
        }

        private bool IsTrue()
        {
            if (Name != null)
            { return true; }
            else { return false; }

        }

        private void makeSaveContact()
        {
            using (var instance = new AdressModel())
            {
                Adressen ad = new Adressen();

                ad.Anrede = Anrede;
                ad.Name = Name;
                ad.Vorname = Vorname;
                ad.Strasse = Strasse;
                ad.Postfach = Postfach;
                ad.Ort = Ort;
                ad.PLZ = PLZ;
                ad.TeleBeruf = TeleBeruf;
                ad.TeleMobile = TeleMobile;
                ad.TelePrivat = TelePrivat;
                ad.Faxnummer = Faxnummer;
                ad.Email = Email;
                ad.Homepage = Homepage;
                ad.IBAN = IBAN;
                ad.BIC = BIC;
                ad.Bundesland = Bundesland;
                ad.Anmerkung = Anmerkung;
                ad.Bday = Bday;

                instance.Adressen.Add(ad);
                instance.SaveChanges();
            }

Ist doch "eigentlich" alles richtig, oder?

Gespeichert werden die Daten so wie sie sollen. Werden mir nur ledeglich nicht angezeigt,
Ich nutzte SQLite + EntityFramework (Code First)
Sieht ihr eventuell wo mein Fehler ist? 😒
PS: ich weiß, die Namensgebung ist nicht die beste aber erfüllt sein zweck 😄

01.01.2016 - 01:06 Uhr

Frohes neues Jahr wünsche ich allen mitgliedern des Forums.
Zu aller erst wünsche ich jeden ein glückliches, erfolgreiches und frohes neues Jahr2016. Ebenso wollte ich mich für all eure hilfe im vergangenen Jahr bedanken.

Gruß aus Wiesbaden an alle Entwickler. 🙂 😁

30.12.2015 - 14:25 Uhr

Ok. Habe den Fehler nun lösen können.
Für alle, die in naher Zukunft ebenfalls auf das Problem zustoßen.
In der App.config ist die auto-generierter Code ein Bug.
Er muss in den hier umgeändert werden (je nach Version, denn man nutzt)

  <!-- =======================================EntityFramework================================================================-->
  <entityFramework>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
      <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
      <provider invariantName="System.Data.SQLite" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
    </providers>
  </entityFramework>
  <!-- =======================================DBProviderFactories================================================================-->
  <system.data>
    <DbProviderFactories>
      <remove invariant="System.Data.SQLite" />
      <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
      <remove invariant="System.Data.SQLite.EF6" />
      <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
    </DbProviderFactories>
  </system.data>
30.12.2015 - 11:39 Uhr

app.config

 <providers>
      <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
  <system.data>
    <DbProviderFactories>
      <remove invariant="System.Data.SQLite.EF6" />
      <add name="SQLite Data Provider Entity Framework 6" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
      <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
    </DbProviderFactories>
  </system.data>

packages.config

<packages>
  <package id="EntityFramework" version="6.1.3" targetFramework="net452" />
  <package id="EntityFramework.de" version="6.1.3" targetFramework="net452" />
  <package id="System.Data.SQLite" version="1.0.99.0" targetFramework="net452" />
  <package id="System.Data.SQLite.Core" version="1.0.99.0" targetFramework="net452" />
  <package id="System.Data.SQLite.EF6" version="1.0.99.0" targetFramework="net452" />
  <package id="System.Data.SQLite.Linq" version="1.0.99.0" targetFramework="net452" />
</packages>
using (var instance = new MusikModel())
                {
                    Musik music = new Musik();
                    music.Titel = "NRW";
                    music.Kuenstler = "Fard";

                    instance.Musik.Add(music); // Hier wird die Fehlermeldung ausgelöst.
                    instance.SaveChanges();
                }

Lösungsansätze habe ich welche gefunden, jedoch halfen Sie mir nicht weiter. Die Fehlermeldung blieb bestehen.

MrSparkle: Mit dem rest war der Post hier gemeint. Da ging es um die selbe Fehlermeldung. Und dort wurde geraten, mal das Projekt hochzuladen da sich so nur mit code ausschnitten keine lösung dafür finden konnte.
PS: Daher hatte ich auch das ganze Projekt gleich Hochgeladen ..

29.12.2015 - 20:59 Uhr

Abt: Ich hatte das ganze Projekt hochgeladen, da a) dieser nur das nötigste enthält und b) ich stark von ausging, dass es nicht Code bedingt ist bzw es anhand des Post mit dem selben FM hier von Ghost93 erstellt wurde jedoch keine Lösung dafür gefunden wurde und das Projekt bitte hochgeladen werden sollte und nur ein anderes DB-S gewählt wurde.
Der Fehler kommt in der folgenden zeile


using(var Instance = new MusikModel())
{
Musik music = new Musik();
music.Titel = "beethoven";
music.Kuenstler = "Mozart";
//======== hier kommt die fehlermeldung =======
Instance.Musik.add(music);
Instance.SaveChanged(); 
}
29.12.2015 - 18:34 Uhr

verwendetes Datenbanksystem: <SQLite>
Hallo liebe Entwickler 😃
Die fehlermeldung NotSupportedExecption bringt mich so langsam echt an den Wahnsinn und ich hatte gehofft, dass Ihr mir da eventuell behilflich sein könntet.
Fehlermledung : > Fehlermeldung:

{"Unable to determine the provider name for provider factory of type 'System.Data.SQLite.SQLiteFactory'. Make sure that the ADO.NET provider is installed or registered in the application config."}

Bisher habe ich im Internet recht viele Einträge darüber gelesen und nachgeforscht konnte jedoch keine Lösung für dieses Problem ausfindig machen und hoffe nun, dass Ihr mir eventuell dabei behilflich sein könntet.
Projekt : Datenbank (sqlite) lässt sich im VS Einfügen & neu erstellen, ADO-Assistent erkennt auch die Datenbank und wählt Sie aus doch beim Starten des Projektes erhalte ich nur die oben genannte Fehlermeldung. Provider ist in app.config angegeben.
Ich habe das Projekt mal auf OneDrive hochgeladen, damit Ihr euch eventuell ein Einblick in das Problem verschaffen könnt.

Über eure Hilfe wäre ich sehr Dankbar.

01.12.2015 - 00:23 Uhr

Um dir eventuell ein anderen vorschlag zu machen könntest du doch eine weitere Farbe einführen z.b. Hellgrün oder Hellrot und die kürzlich geänderten Staten/Einträge in der Farbe anzeigen.

Insofern ich nicht genau weis, woher und wie die Daten kommen kann ich dir leider kein anderen Vorschlag machen. Aber wenn du es mit den Textbox machen willst hat dir MrSparkle Ja zwei Lösungen genannt.
Mfg Mert.

29.11.2015 - 21:46 Uhr

Was genau meinst du mit

dadurch ändert sich auch der Status des Datensatzes im DataGrid ?

29.11.2015 - 21:17 Uhr

Hallo MrSparkle:
So haette ich dann aber nur ein dategridcolumn oder?
So wuerden mir ja die Header-Bezeichnungen flöten gehen

Aber ich Schau noch mal ob ich sowas finde Ei snippet tutorial o.ä.

29.11.2015 - 18:34 Uhr

Ich muss den Thread nochmal hervorheben.
Ich wollte nochmals fragen, ob es möglich ist, ein GridViewColumn in die Länge von mehreren Columns zu ziehen ?

Wie beispielsweiße auf dem Bild, dass sich der Kundenname auch über die Warengruppe zieht?

19.11.2015 - 15:52 Uhr

witte+inflames2k:
Eure beiden Vorschläge miteinander kombiniert hat Super funktioniert. 😃
Ich danke euch für eure schnelle Antwort 😄

19.11.2015 - 14:47 Uhr

Hallo liebes Forum.
Tut mir leid, wenn meine Überschrift eventuell falsch formuliert wurde. Mir fiel dazu nichts besseres ein xD.

Ich versuche derzeit in meinem DataGrid für eine Zeile zwei Spalten hinzubekommen
(So wie auf dem Bild) aber scheitere daran.

Habt ihr eventuell einige Suchbegriffe für mich nachdem ich suchen könnte oder ein Rat wie das zu bewerkstelligen ist ?
Im Netz fand ich größenteils nur für den Header bereich passende Lösungen jedoch brauch ich dies für den Content bereich.

Über Rat wäre ich sehr glücklich =)
Danke schon einmal im voraus 😄