Problem mit select



  • Hallo zusammen

    Ich hab folgendes Problem , im Programm hab ich ein Datagridview welches mir Daten
    anzeigt wo von einer XML Datei geladen werden nun möchte ich gern eine Select abfrage starten ( Funktioniert so weit auch ). Aber meine Anzeige im Datagridview wird nicht aktuallisiert An Was kann das liegen ?

    Hier noch mein Code

    private: System::Data::DataSet^  dataSet1;
    	private: System::Windows::Forms::Button^  button1;
    	private: System::Data::DataTable^  dataTable1;
    	private: System::Data::DataColumn^  dataColumn1;
    	private: System::Data::DataColumn^  dataColumn2;
    	private: System::Data::DataColumn^  dataColumn3;
    	private: System::Data::DataColumn^  dataColumn4;
    	private: System::Data::DataColumn^  dataColumn5;
    	private: System::Windows::Forms::DataGridView^  dataGridView1;
    	private: System::Windows::Forms::DataGridViewTextBoxColumn^  datumDataGridViewTextBoxColumn;
    	private: System::Windows::Forms::DataGridViewTextBoxColumn^  versionDataGridViewTextBoxColumn;
    	private: System::Windows::Forms::DataGridViewTextBoxColumn^  änderungDataGridViewTextBoxColumn;
    	private: System::Windows::Forms::DataGridViewTextBoxColumn^  bugfixesDataGridViewTextBoxColumn;
    	private: System::Windows::Forms::DataGridViewTextBoxColumn^  iDDataGridViewTextBoxColumn;
    	private: System::Windows::Forms::Button^  button2;
    	private: System::Windows::Forms::TextBox^  textBox1;
    
    	protected: 
    
    	private:
    		/// <summary>
    		/// Erforderliche Designervariable.
    		/// </summary>
    		System::ComponentModel::Container ^components;
    
    #pragma region Windows Form Designer generated code
    		/// <summary>
    		/// Erforderliche Methode für die Designerunterstützung.
    		/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
    		/// </summary>
    		void InitializeComponent(void)
    		{
    			this->dataSet1 = (gcnew System::Data::DataSet());
    			this->dataTable1 = (gcnew System::Data::DataTable());
    			this->dataColumn1 = (gcnew System::Data::DataColumn());
    			this->dataColumn2 = (gcnew System::Data::DataColumn());
    			this->dataColumn3 = (gcnew System::Data::DataColumn());
    			this->dataColumn4 = (gcnew System::Data::DataColumn());
    			this->dataColumn5 = (gcnew System::Data::DataColumn());
    			this->button1 = (gcnew System::Windows::Forms::Button());
    			this->dataGridView1 = (gcnew System::Windows::Forms::DataGridView());
    			this->datumDataGridViewTextBoxColumn = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());
    			this->versionDataGridViewTextBoxColumn = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());
    			this->änderungDataGridViewTextBoxColumn = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());
    			this->bugfixesDataGridViewTextBoxColumn = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());
    			this->iDDataGridViewTextBoxColumn = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());
    			this->button2 = (gcnew System::Windows::Forms::Button());
    			this->textBox1 = (gcnew System::Windows::Forms::TextBox());
    			(cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this->dataSet1))->BeginInit();
    			(cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this->dataTable1))->BeginInit();
    			(cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this->dataGridView1))->BeginInit();
    			this->SuspendLayout();
    			// 
    			// dataSet1
    			// 
    			this->dataSet1->DataSetName = L"XmlDataSet";
    			this->dataSet1->Tables->AddRange(gcnew cli::array< System::Data::DataTable^  >(1) {this->dataTable1});
    			// 
    			// dataTable1
    			// 
    			this->dataTable1->Columns->AddRange(gcnew cli::array< System::Data::DataColumn^  >(5) {this->dataColumn1, this->dataColumn2, 
    				this->dataColumn3, this->dataColumn4, this->dataColumn5});
    			cli::array< System::String^ >^ __mcTemp__1 = gcnew cli::array< System::String^  >(1) {L"ID"};
    			this->dataTable1->Constraints->AddRange(gcnew cli::array< System::Data::Constraint^  >(1) {(gcnew System::Data::UniqueConstraint(L"Constraint1", 
    				__mcTemp__1, true))});
    			this->dataTable1->PrimaryKey = gcnew cli::array< System::Data::DataColumn^  >(1) {this->dataColumn5};
    			this->dataTable1->TableName = L"Table1";
    			// 
    			// dataColumn1
    			// 
    			this->dataColumn1->ColumnName = L"Datum";
    			// 
    			// dataColumn2
    			// 
    			this->dataColumn2->ColumnName = L"Version";
    			// 
    			// dataColumn3
    			// 
    			this->dataColumn3->ColumnName = L"Änderung";
    			// 
    			// dataColumn4
    			// 
    			this->dataColumn4->ColumnName = L"Bugfixes";
    			// 
    			// dataColumn5
    			// 
    			this->dataColumn5->AllowDBNull = false;
    			this->dataColumn5->AutoIncrement = true;
    			this->dataColumn5->ColumnName = L"ID";
    			this->dataColumn5->DataType = System::Int32::typeid;
    			this->dataColumn5->ReadOnly = true;
    			// 
    			// button1
    			// 
    			this->button1->Location = System::Drawing::Point(408, 264);
    			this->button1->Name = L"button1";
    			this->button1->Size = System::Drawing::Size(75, 23);
    			this->button1->TabIndex = 1;
    			this->button1->Text = L"button1";
    			this->button1->UseVisualStyleBackColor = true;
    			this->button1->Click += gcnew System::EventHandler(this, &History::button1_Click);
    			// 
    			// dataGridView1
    			// 
    			this->dataGridView1->AllowUserToOrderColumns = true;
    			this->dataGridView1->Anchor = static_cast<System::Windows::Forms::AnchorStyles>((((System::Windows::Forms::AnchorStyles::Top | System::Windows::Forms::AnchorStyles::Bottom) 
    				| System::Windows::Forms::AnchorStyles::Left) 
    				| System::Windows::Forms::AnchorStyles::Right));
    			this->dataGridView1->AutoGenerateColumns = false;
    			this->dataGridView1->BorderStyle = System::Windows::Forms::BorderStyle::Fixed3D;
    			this->dataGridView1->ColumnHeadersHeightSizeMode = System::Windows::Forms::DataGridViewColumnHeadersHeightSizeMode::AutoSize;
    			this->dataGridView1->Columns->AddRange(gcnew cli::array< System::Windows::Forms::DataGridViewColumn^  >(5) {this->datumDataGridViewTextBoxColumn, 
    				this->versionDataGridViewTextBoxColumn, this->änderungDataGridViewTextBoxColumn, this->bugfixesDataGridViewTextBoxColumn, this->iDDataGridViewTextBoxColumn});
    			this->dataGridView1->DataMember = L"Table1";
    			this->dataGridView1->DataSource = this->dataSet1;
    			this->dataGridView1->Location = System::Drawing::Point(12, 12);
    			this->dataGridView1->Name = L"dataGridView1";
    			this->dataGridView1->RowHeadersVisible = false;
    			this->dataGridView1->Size = System::Drawing::Size(480, 246);
    			this->dataGridView1->TabIndex = 2;
    			// 
    			// datumDataGridViewTextBoxColumn
    			// 
    			this->datumDataGridViewTextBoxColumn->DataPropertyName = L"Datum";
    			this->datumDataGridViewTextBoxColumn->FillWeight = 60;
    			this->datumDataGridViewTextBoxColumn->HeaderText = L"Datum";
    			this->datumDataGridViewTextBoxColumn->Name = L"datumDataGridViewTextBoxColumn";
    			this->datumDataGridViewTextBoxColumn->ToolTipText = L"Datum wann der Datensatz erstellt wurde";
    			// 
    			// versionDataGridViewTextBoxColumn
    			// 
    			this->versionDataGridViewTextBoxColumn->DataPropertyName = L"Version";
    			this->versionDataGridViewTextBoxColumn->FillWeight = 60;
    			this->versionDataGridViewTextBoxColumn->HeaderText = L"Version";
    			this->versionDataGridViewTextBoxColumn->Name = L"versionDataGridViewTextBoxColumn";
    			// 
    			// änderungDataGridViewTextBoxColumn
    			// 
    			this->änderungDataGridViewTextBoxColumn->AutoSizeMode = System::Windows::Forms::DataGridViewAutoSizeColumnMode::Fill;
    			this->änderungDataGridViewTextBoxColumn->DataPropertyName = L"Änderung";
    			this->änderungDataGridViewTextBoxColumn->FillWeight = 300;
    			this->änderungDataGridViewTextBoxColumn->HeaderText = L"Änderung";
    			this->änderungDataGridViewTextBoxColumn->Name = L"änderungDataGridViewTextBoxColumn";
    			// 
    			// bugfixesDataGridViewTextBoxColumn
    			// 
    			this->bugfixesDataGridViewTextBoxColumn->DataPropertyName = L"Bugfixes";
    			this->bugfixesDataGridViewTextBoxColumn->FillWeight = 300;
    			this->bugfixesDataGridViewTextBoxColumn->HeaderText = L"Bugfixes";
    			this->bugfixesDataGridViewTextBoxColumn->Name = L"bugfixesDataGridViewTextBoxColumn";
    			// 
    			// iDDataGridViewTextBoxColumn
    			// 
    			this->iDDataGridViewTextBoxColumn->DataPropertyName = L"ID";
    			this->iDDataGridViewTextBoxColumn->HeaderText = L"ID";
    			this->iDDataGridViewTextBoxColumn->Name = L"iDDataGridViewTextBoxColumn";
    			this->iDDataGridViewTextBoxColumn->ReadOnly = true;
    			// 
    			// button2
    			// 
    			this->button2->Location = System::Drawing::Point(198, 264);
    			this->button2->Name = L"button2";
    			this->button2->Size = System::Drawing::Size(75, 23);
    			this->button2->TabIndex = 3;
    			this->button2->Text = L"button2";
    			this->button2->UseVisualStyleBackColor = true;
    			this->button2->Click += gcnew System::EventHandler(this, &History::button2_Click);
    			// 
    			// textBox1
    			// 
    			this->textBox1->Location = System::Drawing::Point(22, 268);
    			this->textBox1->Name = L"textBox1";
    			this->textBox1->Size = System::Drawing::Size(154, 20);
    			this->textBox1->TabIndex = 4;
    			// 
    			// History
    			// 
    			this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
    			this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
    			this->ClientSize = System::Drawing::Size(504, 299);
    			this->Controls->Add(this->textBox1);
    			this->Controls->Add(this->button2);
    			this->Controls->Add(this->dataGridView1);
    			this->Controls->Add(this->button1);
    			this->Name = L"History";
    			this->Text = L"History";
    			this->Load += gcnew System::EventHandler(this, &History::History_Load);
    			(cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this->dataSet1))->EndInit();
    			(cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this->dataTable1))->EndInit();
    			(cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this->dataGridView1))->EndInit();
    			this->ResumeLayout(false);
    			this->PerformLayout();
    
    		}
    #pragma endregion
    	private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
    //				
    	this->dataSet1->WriteXml("Datasethistory.xml",Data::XmlWriteMode::WriteSchema);
    
    			 }
    private: System::Void History_Load(System::Object^  sender, System::EventArgs^  e) {
    	this->dataSet1->ReadXml("Datasethistory.xml",Data::XmlReadMode::Auto);
    		 }
    private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) {
    			this->dataTable1->Select("ID = 1");// Hier klappt die Abfrage aber die Aktuallisierung klappt nicht !!
    
    		 }
    };
    }
    

    Ich denk mal es ist nicht viel aber was 😕



  • Verwende ein Dataview um die Daten gefiltert anzuzeigen.

    Schau Dir mal die Signatur an:

    array<DataRow^>^ Select ()
    

    Wie soll denn das DGV bei

    this->dataTable1->Select("ID = 1");// Hier klappt die Abfrage aber die Aktuallisierung klappt nicht !!
    

    irgendwas machen ?



  • Dachte das man es so ähnlich hand haben kann wie wenn man einen Tableadapter hat und dort einen Select ausführt und dann mit -> FillByXX wieder das Dataset/DVG auffüllen kann.
    Wie kann ich es mit einem Dataview lösen ? Ich benutze die 2005 Express Version und da ist in der Toolboxleiste kein Dataview enthalten ! Wenn ich ein Dataview von Hand anlege siehe ich es im Desinger modus unten neben dem Dataset aber wie bekomme ich es ins Form fenster ?

    Oder ist es möglich das DVG mit dem Ergebniss von

    array<DataRow^>^ Select ()
    

    wieder zu befüllen ?



  • Rechtklick auf die Toolbox -> HInzufügen.

    Das DataView bekommst Du nicht auf die Form, nur unter die Form. Es ist kein Visuelles Control.

    Binde das DV an das DataSet und das Gatagridview an die DataView -> schon kannst Du über das DataView mittels RowFilter die Daten filtern.



  • THX so gehts !


Anmelden zum Antworten