Data Grid Wiew - Zeilen hinzufügen



  • Guten Tag,
    Ich bin gerade dabei, ein DataGridWiew zu erstellen. Das Ding soll Spalten und Zeilen haben. Das mit den Spalten hab ich raus, doch wie krieg ich Zeilen hin???

    mfg
    Mr X



  • Das DataGridView ist dafür gedacht, es an eine Datenquelle zu binden.
    Wenn Du das eh vor hast, kann ich Dir aufs Pferd helfen.
    Oder was willst du darin anzeigen?



  • Ich möchte in der Tabelle in der ersten Zeile eine gleichbleibende Überschrift
    und in den Folgenden Zeilen eine Spalte Gleichbleibend und den Rest im Programmverlauf sich verändernd darstellen.
    Hilf mir doch bitte aufs Pferd!

    mfg
    Mr X



  • Soll das DataGridView an eine Datenquelle gebunden sein?
    Oder was willst Du da anzeigen?



  • Im Laufe der Benutzung des Programmes werden verschiedene Variablen sich verändern. Diese sollen in den Feldern angezeigt werden, welche nicht Konstant bleiben sollen.

    mfg
    Mr X



  • dataGridView1->RowCount::set(20);
    


  • Ich habe die Codezeile eingefügt, wo die Eigenschaften der DataGridWiew stehen, beim kompilieren klappts, aber in der Entwurfsform der Form1.h kommt ein Fehler:
    C++ CodeDOM parser error: Internal Error
    Wie krieg ich den weg???

    mfg
    Mr X



  • Melde mich zurück (Musste mir den Film „Kein Bund fürs Leben“ mit Axel Stein geben).
    Voll witzig der Streifen.
    So, nun zurück.
    Gib mir bitte mal die ganze Fehlermeldung.
    Diesen Code habe ich zum Beispiel in ein Click-Ereignis von einem Button gelegt.
    Wo liegt der Code bei Dir?
    Aus welcher Methode wird der Code aufgerufen?



  • Die Meldung:

    Beim Laden des Designers sind die nachfolgend aufgeführten Fehler aufgetreten. Einige können durch Neuerstellen des Projekts behoben werden, andere erfordern möglicherweise Änderungen am Code.

    C++ CodeDOM parser error: Internal Error
    Ausblenden

    bei Microsoft.VisualC.CppCodeParser.OnMethodPopulateStatements(Object sender, EventArgs e)
    bei System.CodeDom.CodeMemberMethod.get_Statements()
    bei System.ComponentModel.Design.Serialization.TypeCodeDomSerializer.Deserialize(IDesignerSerializationManager manager, CodeTypeDeclaration declaration)
    bei System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager manager)
    bei Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)
    bei System.ComponentModel.Design.Serialization.BasicDesignerLoader.BeginLoad(IDesignerLoaderHost host)

    Dort liegt der Code:

    // 
    			// dataGridView1
    			// 
    			this->dataGridView1->AllowUserToAddRows = false;
    			this->dataGridView1->AllowUserToDeleteRows = false;
    			this->dataGridView1->AllowUserToResizeColumns = false;
    			this->dataGridView1->AllowUserToResizeRows = false;
    			this->dataGridView1->ColumnHeadersHeightSizeMode = System::Windows::Forms::DataGridViewColumnHeadersHeightSizeMode::AutoSize;
    			this->dataGridView1->Columns->AddRange(gcnew cli::array< System::Windows::Forms::DataGridViewColumn^  >(4) {this->Anzahl, 
    				this->Fahrzeugtyp, this->Preisstück, this->Preisgesamt});
    			this->dataGridView1->Location = System::Drawing::Point(158, 486);
    			this->dataGridView1->MultiSelect = false;
    			this->dataGridView1->Name = L"dataGridView1";
    			this->dataGridView1->ReadOnly = true;
    			dataGridViewCellStyle2->Alignment = System::Windows::Forms::DataGridViewContentAlignment::TopLeft;
    			dataGridViewCellStyle2->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, 
    				static_cast<System::Byte>(0)));
    			dataGridViewCellStyle2->Format = L"N2";
    			dataGridViewCellStyle2->NullValue = nullptr;
    			dataGridViewCellStyle2->WrapMode = System::Windows::Forms::DataGridViewTriState::True;
    			this->dataGridView1->RowsDefaultCellStyle = dataGridViewCellStyle2;
    			this->dataGridView1->Size = System::Drawing::Size(451, 103);
    			this->dataGridView1->TabIndex = 280;
    			dataGridView1->RowCount::set(20);
    

    Methode???



  • Leg die Funktion in das Load-Ereignis.



  • Hat es nur sehr verschlechtert:
    Fehlermeldung beim öffnen des Entwurfs hat sich nicht verändert.
    Fehlermeldung beim compilieren:

    Microsoft (R) C/C++-Optimierungscompiler hat ein Problem festgestellt und muss beendet werden.

    Weiter lässt es sich nicht kopieren 😕
    Man soll dass Programm in der angegebenen position verändern oder verkürzen, steht unten in "Ausgabe" Fenster "erstellen".
    Die angegebene Position: Zeile 1393:

    /*1393*/	this->numericUpDown29->Maximum = System::Decimal(gcnew cli::array< System::Int32 >(4) {200, 0, 0, 0});
    


  • Was für ein Projekt ist das?
    WindowsForms in Visual Studio 2005?
    Schicke Dir mal eben die Syntax für mein kleines Testprojekt.

    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) 
    			 {
    				 dataGridView1->RowCount::set(20);
    
    				 for (int counter=0;counter <20; counter++)
    				 {
    					 dataGridView1->Rows[counter]->Cells[0]->Value::set("Eintrag " + counter);
    				 }
    
    				 for (int counter=0;counter <20; counter++)
    				 {
    					 dataGridView1->Rows[counter]->Cells[1]->Value::set("Eintrag " + counter);
    				 }
    
    				 for (int counter=0;counter <20; counter++)
    				 {
    					 dataGridView1->Rows[counter]->Cells[2]->Value::set("Eintrag " + counter);
    				 }
    
    			 }
    


  • Windows-Forms Anwendung.
    Dein Beispielcode hilft hier wohl wenig, da das Problem nun irgendwo anders, nur nicht bei der Tabelle liegt, da ich durch auskommentieren der Zeile, die du mir nanntest den Fehler nicht beheben konnte.


Anmelden zum Antworten