einfach tabelle darstellen
-
int a = 4; std::string t = a.ToString()->c_str(); label1->Text = t.c_str();
?
ToString hat keine c_str() ist doch voll sinnlos ?
label1->Text ist ein String^ , wieso nicht ganz normal String und wie krieg ich std::string da rein ?
-
naja bin erstmals auf String^ umgestiegen.
String^ a = gcnew String(""); int count = dataGridView1->ColumnCount; for (int i=0;i<count;++i) a += "Nr. " + (i+1).ToString() + " " + dataGridView1->Columns[i]->HeaderText + " -- "; label1->Text = a; a = "";
Wenn ich die Anordnung der Spalten ändere, hat das keine Auswirkung auf die interne Datenstruktur. Gibt es eine andere möglichkeit, immer aktuelle Position einer Spalte zu ermitteln?
Ansonsten müsste der User von Anfang an, die Position wählen und ich die Tabelle dementsprechend erzeugen. Wäre aber nciht so schon, wie wenn der User die per drag&drop verschieben könnte ...
Ne Idee ?
-
Vermeide das mischen von Unmanaged und Managed code. Soll heissen:
Irgendwo ein std::string in ein managed Objekt zu stecken ist ein Designfehler und sollte überdacht werden. (Klar, speziell im Einsatz von C++/CLI wird man soetwas haben weil man ja C++/CLI wohl eher als Brücke zwischen Managed und Unmanaged verwendet. Such mal Beiträge von nn - er hat das mal schön erläutert.)Wenn ich die Anordnung der Spalten ändere, hat das keine Auswirkung auf die interne Datenstruktur
Das ist auch gut so! Mit ein wenig überlegen fällt Dir der Grund selbst ein, spätestens wenn Du eine Datenbank an ein Grid gebunden hast.
Die Position der Columns hat mich nie interessiert. Analyiere mal die DataGridViewColmnCollection - eventuell ändert sich diese ja in der passenden Reihenfolge.
-
Ok, bin eben so STL (jaja std::string gehöhrt nicht zu STL würde artchi sagen ) gewöhnt, aber ok werde nix mixen.
Stimmt wäre ja nicht gut, wenn sich was ändert, obwohl ich keine Datenbank anbindung habe, ganz zu schweigen vom verschieben etc der internen Daten bzw nur Zeiger umbiege naja weiß ja net wie das implementiert ist.
Der grund dafür ist das die xml genau die abbildung der tabelle haben muss, da diese xml nachher woanders eingelesen und dargestellt werden soll, deswegen muss ich ja irgendwie wissen, wenn etwas verschoben wurde. Ich schaue mal in die collections.
-
dataGridView1->Columns[i]->DisplayIndex
Habe sie zwar nicht in ner geordneten Liste, aber das tuts auch
-
Soweit alles gut, fehlt nur noch das mit den list- und checkboxen in den zellen. Finde aber dazu in den eigenschaften nichts. Kann mir einer nochmal dazu was genaueres sagen ?
-
sry, meinte die ganze zeit eigentlich combo und checkbox.
-
Habs gefunden, ne ne, bin wohl zu ungeduldigt und sollte mal demnächst besser suchen
-
Knuddlbaer schrieb:
C++/CLI und WIndowsforms ist ggenerell keine gute Idee, der Frmdesigner ist alles andere als gut - spätestens bei größeren Projekten eckt man ständig an.
Ne noch schlechtere Idee iss aber MFC zu verwenden, zu wenig Möglichkeiten und vor allem: HILFE iss das Layout uralt. Wer seine Programme verkaufen will ... auch das Auge bedient mit. Ich weiß zwar das sämtliche Anfängerbücher auf MFC abfahren aber ich finde die Autoren gehn da nicht mit der Zeit.
-
Was sieht denn z.B. an MS Office 2007 oder Word 2007 altbacken aus ?
Warum ist man im Bereich der MFC eingeschränkt ?
-
Microsoft erstellt schon lange die Programme nicht mehr mit der MFC
-
Sondern ?
-
Schau se dir mal genau an....und dir fällt da nicht auf das das die CLI iss?
oder warum iss das .NET Framework Bedingung ?