Finde keine Hilfe
-
Hallo Miteinander
Ich habe stets immer noch die selben programmtechnischen "Probleme".
Wie bekomme ich die Daten (ca. 6500-7000 Datensätze) von der Datenbank (MS-Access File) automatisch (nicht manuell) in ein ListView-Steuerelement?
Bei der Microsoft haben sie nur publiziert, wie man ein ListView manuell füllt.
Finde leider auch in diesem Forum unter C++/CLI .NET keine vorangegangene Frage, welche in etwa das gleiche fragt.Kennt jemand eine mögliche Lösung für mein Anstehen?
Lg
-
Was meinst du mit automatisch?
Alle x Sekunden?
Funktioniert das "manuelle" denn schon?Wenn die letzten beiden Antworten "ja" sind bitte weiter lesen:
Erstelle doch einen Timer, der dann den manuellen Programmteil, der die Listenauffüllung beinhaltet, nach x-Sekunden aufruft.
-
Es wäre eine mögliche Hilfe, doch ich möchte nicht die ganzen 7000 Datensätze von Hand in das ListView programmieren. Da müsste ich wohl 2 Wochen à 10 Stunden dran bleiben...
Gibt es keine Tags oder Events oder sowas, die beim Aufrufen der Form mit der ListView enthaltend die Daten direkt von der DB einliest?
Oder wie werden bei Dir die Daten direkt von der Datenbank eingelesen?
Gruss
-
Zeig doch mal Code!
Wenn du weisst wie man das ListView manuell füllt, dann kannst du doch einfach ne Schleife nehmen, um den Vorgang zu automatisieren!
-
In Diesen Links findeste bestimmt eine Idée die dir helfen kann ...
http://msdn2.microsoft.com/de-de/library/2fds7919(VS.80).aspx
-
2 [url] http://msdn2.microsoft.com/de-de/library/s3dfa3sx(VS.80).aspx [/url]
3 http://msdn2.microsoft.com/de-de/library/ms171644(VS.80).aspx
-
Danke für die Links. Werde mich da mal schlauer-lesen.
Ich versuchte es wie folgt, das ListView mit Daten zu füllen.
Greez.
#pragma once namespace ListViewTest { using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; /// <summary> /// Zusammenfassung für Form1 /// /// Warnung: Wenn Sie den Namen dieser Klasse ändern, müssen Sie auch /// die Ressourcendateiname-Eigenschaft für das Tool zur Kompilierung verwalteter Ressourcen ändern, /// das allen RESX-Dateien zugewiesen ist, von denen diese Klasse abhängt. /// Anderenfalls können die Designer nicht korrekt mit den lokalisierten Ressourcen /// arbeiten, die diesem Formular zugewiesen sind. /// </summary> public ref class Form1 : public System::Windows::Forms::Form { public: Form1(void) { InitializeComponent(); // //TODO: Konstruktorcode hier hinzufügen. // } protected: /// <summary> /// Verwendete Ressourcen bereinigen. /// </summary> ~Form1() { if (components) { delete components; } } public: System::Windows::Forms::ListView^ listView1; protected: private: System::Windows::Forms::ColumnHeader^ columnHeader1; private: System::Windows::Forms::ColumnHeader^ columnHeader2; private: System::Windows::Forms::ColumnHeader^ columnHeader3; private: System::Windows::Forms::ColumnHeader^ columnHeader4; private: System::Data::OleDb::OleDbCommand^ oleDbSelectCommand1; private: System::Data::OleDb::OleDbConnection^ oleDbConnection1; private: System::Data::OleDb::OleDbCommand^ oleDbInsertCommand1; private: System::Data::OleDb::OleDbDataAdapter^ oleDbDataAdapter1; private: ListViewTest::DataSet1^ dataSet11; private: System::Data::DataViewManager^ dataViewManager1; private: System::Data::DataView^ dataView1; private: System::Windows::Forms::Button^ button1; private: System::ComponentModel::IContainer^ components; protected: private: /// <summary> /// Erforderliche Designervariable. /// </summary> #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) { System::Windows::Forms::ListViewItem^ listViewItem5 = (gcnew System::Windows::Forms::ListViewItem(gcnew cli::array< System::String^ >(2) {L"", L""}, -1)); System::Windows::Forms::ListViewItem^ listViewItem6 = (gcnew System::Windows::Forms::ListViewItem(L"")); System::Windows::Forms::ListViewItem^ listViewItem7 = (gcnew System::Windows::Forms::ListViewItem(L"")); System::Windows::Forms::ListViewItem^ listViewItem8 = (gcnew System::Windows::Forms::ListViewItem(L"")); this->listView1 = (gcnew System::Windows::Forms::ListView()); this->columnHeader1 = (gcnew System::Windows::Forms::ColumnHeader()); this->columnHeader2 = (gcnew System::Windows::Forms::ColumnHeader()); this->columnHeader3 = (gcnew System::Windows::Forms::ColumnHeader()); this->columnHeader4 = (gcnew System::Windows::Forms::ColumnHeader()); this->oleDbSelectCommand1 = (gcnew System::Data::OleDb::OleDbCommand()); this->oleDbConnection1 = (gcnew System::Data::OleDb::OleDbConnection()); this->oleDbInsertCommand1 = (gcnew System::Data::OleDb::OleDbCommand()); this->oleDbDataAdapter1 = (gcnew System::Data::OleDb::OleDbDataAdapter()); this->dataSet11 = (gcnew ListViewTest::DataSet1()); this->dataViewManager1 = (gcnew System::Data::DataViewManager()); this->dataView1 = (gcnew System::Data::DataView()); this->button1 = (gcnew System::Windows::Forms::Button()); (cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->dataSet11))->BeginInit(); (cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->dataView1))->BeginInit(); this->SuspendLayout(); // // listView1 // this->listView1->Columns->AddRange(gcnew cli::array< System::Windows::Forms::ColumnHeader^ >(4) {this->columnHeader1, this->columnHeader2, this->columnHeader3, this->columnHeader4}); this->listView1->DataBindings->Add((gcnew System::Windows::Forms::Binding(L"Tag", this->dataSet11, L"Finishes.Remaining", true))); listViewItem5->Tag = L"Remaining"; this->listView1->Items->AddRange(gcnew cli::array< System::Windows::Forms::ListViewItem^ >(4) {listViewItem5, listViewItem6, listViewItem7, listViewItem8}); this->listView1->Location = System::Drawing::Point(12, 12); this->listView1->Name = L"listView1"; this->listView1->Size = System::Drawing::Size(408, 205); this->listView1->TabIndex = 0; this->listView1->UseCompatibleStateImageBehavior = false; this->listView1->View = System::Windows::Forms::View::Details; this->listView1->SelectedIndexChanged += gcnew System::EventHandler(this, &Form1::listView1_SelectedIndexChanged); // // columnHeader1 // this->columnHeader1->Width = 85; // // columnHeader2 // this->columnHeader2->Width = 81; // // columnHeader3 // this->columnHeader3->Width = 86; // // columnHeader4 // this->columnHeader4->Width = 187; // // oleDbSelectCommand1 // this->oleDbSelectCommand1->CommandText = L"SELECT Remaining, [Out-Shot], Remaining1, [Out-Shot1], Remaining2, [Out-Shot2" L"]\r\nFROM Finishes"; this->oleDbSelectCommand1->Connection = this->oleDbConnection1; // // oleDbConnection1 // this->oleDbConnection1->ConnectionString = L"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\AccessDB\\PDLT.mdb;Jet OLEDB:Datab" L"ase Password=******"; // // oleDbInsertCommand1 // this->oleDbInsertCommand1->CommandText = L"INSERT INTO `Finishes` (`Remaining`, `Out-Shot`, `Remaining1`, `Out-Shot1`, `Rema" L"ining2`, `Out-Shot2`) VALUES (\?, \?, \?, \?, \?, \?)"; this->oleDbInsertCommand1->Connection = this->oleDbConnection1; this->oleDbInsertCommand1->Parameters->AddRange(gcnew cli::array< System::Data::OleDb::OleDbParameter^ >(6) {(gcnew System::Data::OleDb::OleDbParameter(L"Remaining", System::Data::OleDb::OleDbType::Double, 0, L"Remaining")), (gcnew System::Data::OleDb::OleDbParameter(L"Out-Shot", System::Data::OleDb::OleDbType::VarWChar, 0, L"Out-Shot")), (gcnew System::Data::OleDb::OleDbParameter(L"Remaining1", System::Data::OleDb::OleDbType::Double, 0, L"Remaining1")), (gcnew System::Data::OleDb::OleDbParameter(L"Out-Shot1", System::Data::OleDb::OleDbType::VarWChar, 0, L"Out-Shot1")), (gcnew System::Data::OleDb::OleDbParameter(L"Remaining2", System::Data::OleDb::OleDbType::Double, 0, L"Remaining2")), (gcnew System::Data::OleDb::OleDbParameter(L"Out-Shot2", System::Data::OleDb::OleDbType::VarWChar, 0, L"Out-Shot2"))}); // // oleDbDataAdapter1 // this->oleDbDataAdapter1->InsertCommand = this->oleDbInsertCommand1; this->oleDbDataAdapter1->SelectCommand = this->oleDbSelectCommand1; cli::array< System::Data::Common::DataColumnMapping^ >^ __mcTemp__1 = gcnew cli::array< System::Data::Common::DataColumnMapping^ >(6) {(gcnew System::Data::Common::DataColumnMapping(L"Remaining", L"Remaining")), (gcnew System::Data::Common::DataColumnMapping(L"Out-Shot", L"Out-Shot")), (gcnew System::Data::Common::DataColumnMapping(L"Remaining1", L"Remaining1")), (gcnew System::Data::Common::DataColumnMapping(L"Out-Shot1", L"Out-Shot1")), (gcnew System::Data::Common::DataColumnMapping(L"Remaining2", L"Remaining2")), (gcnew System::Data::Common::DataColumnMapping(L"Out-Shot2", L"Out-Shot2"))}; this->oleDbDataAdapter1->TableMappings->AddRange(gcnew cli::array< System::Data::Common::DataTableMapping^ >(1) {(gcnew System::Data::Common::DataTableMapping(L"Table", L"Finishes", __mcTemp__1))}); // // dataSet11 // this->dataSet11->DataSetName = L"DataSet1"; this->dataSet11->SchemaSerializationMode = System::Data::SchemaSerializationMode::IncludeSchema; // // dataViewManager1 // this->dataViewManager1->DataSet = this->dataSet11; this->dataViewManager1->DataViewSettingCollectionString = L"<DataViewSettingCollectionString><Finishes Sort=\"\" RowFilter=\"\" RowStateFilter=\"C" L"urrentRows\"/></DataViewSettingCollectionString>"; // // dataView1 // this->dataView1->Table = this->dataSet11->Finishes; // // button1 // this->button1->Location = System::Drawing::Point(71, 236); this->button1->Name = L"button1"; this->button1->Size = System::Drawing::Size(75, 23); this->button1->TabIndex = 1; this->button1->Text = L"Füllen"; this->button1->UseVisualStyleBackColor = true; this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click); // // Form1 // this->AutoScaleDimensions = System::Drawing::SizeF(6, 13); this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font; this->ClientSize = System::Drawing::Size(432, 282); this->Controls->Add(this->button1); this->Controls->Add(this->listView1); this->Name = L"Form1"; this->Text = L"Form1"; (cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->dataSet11))->EndInit(); (cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->dataView1))->EndInit(); this->ResumeLayout(false); } #pragma endregion private: System::Void listView1_SelectedIndexChanged(System::Object^ sender, System::EventArgs^ e) { FinishesTableAdapter->Update(ungestDataSet); } private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { oleDbDataAdapter1->Update(dataSet11); } }; }