ich wusste nicht genau wie ich den Thread betiteln soll, also schlagt mich bitte nicht.
Und in der Annahme dass ich hier richtig bin.
Ich habe:
DatenQuelle(marieDB) => List<Klasse> list
davon sollen die Daten anhand einer Variable darin gesplittet werden in 3 Dropdowns(Dc) (geht das mit "list", brauche ich für jedes Dc ne Liste?)
oder:
List<Klasse> list (if(param...))
=>List<Klasse> list1 => Dropdown1,
=>List<Klasse> list2 => Dropdown2,
...
Die Auswahl des Dc soll jeweils in einem ItemsControl(Ic) dargestellt werden...
also, benötigte ich nach meinem gängigen Pattern jeweils weitere Listen
Die Elemente in den Ic's können gelöscht werden
Kann ich all dies mit der Hauptliste syncronisieren?
Die Auswertung wollte ich dann mit der Haptliste machen und nicht mit den anderen...
hat jemand ne IDee, hab ich das Anliegen ungenügend dargestellt?
in der Annahme ich bin hier im richtigen Bereich - ich möchte CSV Einlesen deren Spaltenumfang und Datentyp nicht feststehen.
Bei der Verwendung von DataTable bin ich auf das Problem gestoßen dass manche Spalten nicht richtig Dargestellt wurden und es andere Probleme gab:
Überzählige Spalten - (evtl.) wohl eher ein Problem beim Einlese-Algi
Format-Exceptions bei manchen Spalten
...
EIne ObservableCollection wäre hier eine gute Option aber ich weiss nicht wie ich die für die Header des DataGrid benötigten Klassen dynamisch anhand der Spalten der CSV erzeugen kann.
Ich möchte ein Code-Snippet-Manager(C#, Php, XAML, SQL, etc...) in WPF schreiben und bin auf ein kleines Problem gestoßen.
Für das Syntax-Highlightning benötige ich eine Richtextbox. Nun bringt es nichts den Aufbau der Rtb in XAML zu schreiben, diese muss leer sein und mit beliebigen Content gefüllt werden.
Nun kann ich ja einer Rtb keinen "Content" oder "Text" zuweisen ähnlich einer Textbox oder Contentcontrol. Git es einn DesignPattern für den "Content" einer Rtb?
Besser Codebbehind als MVVM? EIn Fingerzeig in die richtige Richtung würde schon genügen.
Ich habe mir Lösungen durch Google angesehen kann diesen jedoch wenig bis nicht sentnehmen.
public decimal Wert
{
get => _wert;
set
{
if ((value % 1) > 0)
{
string[] v = value.ToString().Split(',');
if (v[1].Length == 3) return;
}
_wert = value;
NotifyPropertyChanged();
NotifyPropertyChanged("MwSt");
NotifyPropertyChanged("BruttoWert");
}
}
Das im if ist mein bescheidener Versuch Nachkommastellen über 2 zu verhindern.
Wie gesagt, die erste Eingabe klappt problemlos, wenn ich diese aber lösche, und "1000" eingabe erscheint nur "000" - laut Einzelkschritt wird die "1" aber in "Wert" geschrieben...
Habe auch keinen Ansatz...
Ja, Sorry, gefällt mir auch nicht besonders, ich weiss (noch) nicht wie ich es anders machen soll.
(Darüber sollen die Enumerables der SQL Anfragen zurückgegeben werden)
Zitat von Abt
Jo, dann mach erst mal Deine Implementierung sauber über async/await, was die Basis ist.
Ohne das machts wenig Sinn...
Jo, also zurück auf die Schulbank...
(kleine Ausrede: async und co waren in der Ausbildung nicht enthalten...)
BindingOperations.EnableCollectionSynchronization(OC, _listLock);
Task.Run(() => LoadData());
private async void LoadData() // Fehlermeldung: In dieser Async-Methode fehlen die "await"-Operatoren, weshalb sie synchron ausgeführt wird.
{
OC = new ObservableCollection<Model>(MySQL.GetSomeStuff());
}
hat nicht funktioniert... OC.Count = 0
Eine andere Vorgehensweise war:
App.Current.Dispatcher.BeginInvoke((Action)delegate ()
{
OC = new ObservableCollection<Model>(MySQL.GetSomeStuff());
});
auf die Gefahr hin hier nicht am richtigen Ort zu sein...
Ich muss an einem Klassendiagramm arbeiten, die Grundlegenden Mechaniken sind soweit geläufig, die Praxis fehlt mir aber.
EIne der Klassen enthält eine ObservableCollecion.
Nun bin ich mit nbicht sicher wie und ob ich den Datentyp und die Beziehung der OC richtig darstelle.
public ObservableCollection<Innentür> innentuerliste { get; set; }
Warenkorb enthält eine Auflistung von Türen
public ObservableCollection<Dekor> dekor{ get; set; }
Eine Tür enthält ein Dekor aus der OC (auch wenn ich darüber noch mal nachdenken muss...)
Es sollen Dekore ausgelesen werden und eines davon in der Klasse Innentür neu instanziert, in etwa...
Ich hoffe meine Anfrage war verständig.
Habe ich das richtig gemacht?
PHP serialisiert in ein proprietäres Format. Das zu verwenden ist halt prinzipiell schon quatsch.
Leider ist das aber gar nicht so selten (vermutlich weil PHP Entwickler leider immer noch nichts von Standards verstehen).
Darauf habe ich kein Einfluss, ist aus WooCommerce exportiert und muss ich genau so nehmen
Mag nicht so aussehen , aber ich habe sehr lange gesucht und die meisten Suchergebnisse waren für mich nicht brauchbar...
oft wird auf das NuGet Paket verwiesen oder im falschen Kontext
Zitat von Abt
Hättest Du das einfach mal gegoogelt oder die Forensuche benutzt, dann wärst auch in unser anderes Thema dazu gekommen :-) PHP serialize() in C# Array
Habe ich auch gemacht, DAS! habe ich aber nicht gefunden!
Den deserialisierer teste ich mal, ich hatte ja eigentlich gehofft das mit RegEx zu machen zumal ich aus dem ganzen String
der 2281 Zeichen lang ist nur 3 Werte benötige aber den regulären AUsdruck (noch) nicht hinbekomme
Warum splittest du den String nicht in ein Array, als Trennzeichen '"Value"' nehmen, dann im darunter gesplitteten Array[':'] drittes Element auslesen.
Ich probiere das mal, nach ";" trennen und den string im array nach "Value" auslesen...
s:5:"Value";s:2:"15"
s = String, Länge 5 - Wert "Value"
darauf folgt:
s = String, Länge 2 - Wert "15"
ich habe ein serialisiertes PHP Objekt (Nein, Thema gehört nicht zu Web-Technologien),
dies möchte ich entweder deserialisieren oder per RegEx spezielle Werte auslesen.
serial = serialisiertes PHP Objekt
s = List<string> wo die Werte hinein sollen
var rx = new Regex("\"Value\"", RegexOptions.Compiled | RegexOptions.IgnoreCase);
Match match = rx.Match(serial);
while (match.Success)
{
s.Add(serial.Substring(match.Index + 14, 4).Replace("\"", ""));
match = match.NextMatch();
}
Das ist aber leider etwas schwammig....
Nun wollte ich es über:
var output = string.Join(";", Regex.Matches(serial, "\\\"(.*?)\\\"")
.Cast<Match>()
.Select(m => m.Groups[1].Value));
versuchen.
Ideal wäre es evtl wenn ich den Wert nach: s:5:"Value"; auslese, dies bekomme ich mit RegEx nicht hin.
Kann ich überhaupt eine solche Zeichenkette mit RegEx verwenden?
Ist dieser gedankengang Zielführend? oder soll ich mich besser an eine deserialisierung machen?
Gibt es für eine solche deserialisierung DesignPatterns?
Moin, ich möchte wie angeteast in einer App einen Monatskalender (u.a.) erstellen,
in welchem Einträge/Termine erstellt werden können. Habe sowas leider noch nie gemacht.
Ausdrücklich nicht per NuGet, da so kein Lerneffekt.
Enthält ein <Calendar/> Element, WPF/MVVM kein Muss
Meine (unausgegorenen) beiden Ansätze bisher:
1. Ein Grid mit 7 Spalten und 5 Zeilen + 1 für Wochentage
- 35 Elemente die alle ein Binding brauchen?
- keine rechte Vorstellung von der Objekt/Klassenstruktur...
2. Ein Datagrid
- SpaltenHeader: Wochentage
- Klasse (Prop: Mo-So, Kalenderwoche, ...)
- Darstellung des Kalendermonats durch Kalkulatuion der Kalenderwoche oder mit <Calendar/>
Fehlermeldung: "Eine foreach-Anweisung kann nicht für Variablen vom Typ "MainViewModel.VersandDaten" verwendet werden, weil "MainViewModel.VersandDaten" keine öffentliche Instanz- oder Erweiterungsdefinition für "GetEnumerator" enthält."
"Wie poste ich richtig" ist manchmal schwer das Thema in den wenigen Worten zu formulieren...
Habe die Lösung:
foreach (var item in VersandListeData)
{
var v = item.VersandDaten;
foreach (var oc in item.OC) // <- musste auf die OC zugreifen...
{
_octoXLSX.Add(new OCtoXLSX
{
... // Hier wird VersandListeData für das schreiben in die XLSX aufbereitet
});
}
}
Gibt es Erfahrungswerte wie man per foreach z.B. eine OC in die Zellen schreibt?
Moin, ich wusste nicht genau wie ich mein Problem in der Überschrift beschreiben sollte...
Ich habe eine Observablecollection(OC) namens VersandDaten.
die Klasse enthält als Propertys wiederum eine OC (Versandpositionen) und eine Klasse mit Name/Anschrift etc.
Num muss ich für den Export in eine XLS jede Versandposition mit der Zugeordneten Adresse versehen.
Mein Ansatz:
foreach (var item in VersandListeData)
{
foreach (var v in item.VersandDaten)
{
// hier dann die Zeilen und Spalten für eine Klasse zusammenstellen mit welcher die XLSX befüllt werden kann.
}
}
Nur, mein Ansatz mit var v in item.VersandDaten funktioniert nicht, hat jemand eine Idee?
Ich möchte nur ungern jede Versandposition mit Adresse versehen.
Ich hoffe mich verständlich formuliert zu haben.
Von/Bis und Datum müssen sich dabei einander ausschließen (nullen)
da beide in MySQL diesselbe Spalte filtern sollen.
Nur resultiert eine Änderung im Datepicker ja im SelectedDateChanged Event.
Ich kann ja nicht in den Events der jeweiligen DP den/die anderen DP nullen.
Also habe ich es mit bool's und if 's probiert - ich komme nicht auf'n Zeiger...
Ich kann dem MurksCode ja mal hier bei Bedarf posten.
Hatte ja nie eine Notwendigkeit so etwas konstruieren zu müssen
und leider gibt Google da auch nichts her.
Moin, ich habe ein Projekt (MVVM) in welchem eine DataGrid mit aus MySQL eingelesenen Werten, sowie (aus der linken Seite) mehrere Filteroptionen enthalten sind.
ComboBox, ToggleButton, TextBox und DatePicker
Damit möchte ich den Query zusammenbauen.
Zwar habe ich eine grobe Vorstellung wie das bewerkstelligt werden kann, aber vielleicht habt ihr ja eine gute Idee.
Meine Soweit:
Binding an Property ->
Bei NotifyPropertyChanged()-Event: Aufruf Methode zum Abfragen aller Propertys ->
...
Beim "Zusammenbauen" bin ich mir jedoch nicht sicher