Datenbindung an DataGridView
-
Hallo nochmal,
ich habe ein neues Problem. Ich habe ein DataGridView erstellt und möchte diese einzelnen Zeilen an Textboxen binden, dass sobald sich meine Werte in den Spalten sich ändert dies auch in den Texboxen angezeigt wird.
Die Tabelle:
/*** Spalten hinzufügen ***/ DataGridViewTextBoxColumn ^spalte1 = gcnew DataGridViewTextBoxColumn(); spalte1->Name = "Messwert"; spalte1->HeaderText = "sap"; dgv_Messdaten->Columns->Add(spalte1); DataGridViewTextBoxColumn ^spalte2 = gcnew DataGridViewTextBoxColumn(); spalte2->Name = "Messwert2"; spalte2->HeaderText = "sa"; dgv_Messdaten->Columns->Add(spalte2);
Versuch der Datenbindung
// Datanbindung bs = gcnew BindingSource(); //dgv_Messdaten->DataSource = bs; bs->DataSource = dgv_Messdaten; //bs->DataMember ="Messwert"; tb_Spalte1->DataBindings->Add("Text", bs, "sap");
Folgende Fehlermeldung:
Eine nicht behandelte Ausnahme des Typs "System.ArgumentException" ist in System.Windows.Forms.dll aufgetreten.
Zusätzliche Informationen: An die Eigenschaft oder Spalte sap für die DataSource kann nicht gebunden werden.
Vielleicht kann mir ja jemand einen Tipp geben was ich falsch mache.
MfG
Mister X
-
Könne mir jemand bitte helfen. Ich bekomme es nicht hin, dass ich einzelne Spalten meiner DataGridView so mit einer Datenbindung koppele das diese zum Beispiel in einer Textbos angezeigt werden.
-
Gib mal mehr Infos.
Du kannst keine Spalten einzeln an die DB binden, sondern nur das DataGird selbst. Macht so auch keinen Sinn.
Mit was für einer DB arbeitest Du?
MDB oder MDF?
Was genau hast Du vor?
Vielleicht kann man Dein Problem anders lösen.Gruß,
Doug_HH
-
Mein Fehler!
Versuch war eine XML Datei in ein DataGridView einlesen und einige Spalten an Texboxen zu binden.
Da es so nicht funktioniert habe ich jetzt eingesehen.
Neuer Versuch ist, die XML über "StreamReader" einzulesen und dann in eine DataTable zu speichern. Diese Datatable kann ich dann doch an einen DatGridview oder eine Textbox binden?MfG
Mister x
-
Hallo Nochmal. Irgendwie ist der Wurm bei mir drin. Ich bekomme es einfach nicht hin. Ich habe jetzt eine DataTable und DataSet erstellt um darin Werte einzulesen und dies dann an einer DataGridView zu binden. Doch ich bekomme immer folgenden Fehler :error C2064: Ausdruck ergibt keine Funktion, die 1 Argumente übernimmt!
wenn ich Datan zur DataTable einfügen möchte. Kann mir bitte jemand einen Tipp geben waran es liegt?Code:
// Instanz vom DataTable dt = gcnew DataTable("Tabelle"); // Neue Zeilen definieren DataColumn^ sap = gcnew DataColumn(); sap->DataType = System::Type::GetType("System::String"); sap->ColumnName = "sap"; // Zeile zum DataTable hinzufügen dt->Columns->Add(sap); DataColumn^ sa = gcnew DataColumn(); sa->DataType = System::Type::GetType("System::String"); sa->ColumnName = "sa"; // Zeile zum DataTable hinzufügen dt->Columns->Add(sa); // Instanz vom DataSet ds = gcnew DataSet; // Bindung an das DataTable ds->Tables->Add(dt);
Wenn Button gedrückt wird
//Datei einbinden CXML_einlesen^fr = gcnew CXML_einlesen(); // Referenz zuweisen List<CXML_Struktur^>^temp = fr->XML_Datei_auswerten("Test.xml"); //Variable für Zeile DataRow^ row; for (int i = 0; i < temp->Count; i++) { //Erstelle neue Datanzeilen Objekte und füge dem DataTable zu row = dt->NewRow(); row("sap") = "Hallo" ; //Test-> Fehlermeldung row("sa") = "HA"; //Test-> Fehlermeldung; dt->Rows->Add(row); } if( dt !=nullptr) { dgv_Messdaten->DataSource = dt; } else { MessageBox::Show("Keine Daten enthalten !"); } }
Vielen Dank im voraus.
MfG
Mister X
-
Hallo nochmal. Hab meine zwei Fehler gefunden:
1: sap->DataType = System::Type::GetType("System.String");
2: row["sap"] = "Hallo";Nur habe ich jetzt noch ein weiteres Problem. Wie binde ich jetzt ein Eintrag an eine Texbox?
tb_Spalte1->DataBindings->Add("Text", row["sap"] ?, ?);
MfG
Mister X
-
Oh man heute ist nicht mein Tag.
Folgender Code funktioniert:
tb_Spalte1->DataBindings->Add("Text", dt->Rows[0]["sap"], "");