# [C#] ListView



## Badgott (18. November 2002)

Hallo  leute ich verzweifel hier noch  ich komme einfach nicht weiter ich  möchte einfach nur in das ListView daten speichern ich poste mal denn  Quelltext von der Klasse vieleicht kann mir ja einer helfen  der zeigt leider immer nur ein weißes leeres kästchen an :-(

MFG Badgott


```
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Data.OleDb;

namespace WindowsApplication5
{
	/// <summary>
	/// Zusammendfassende Beschreibung für editUser.
	/// </summary>
	public class editUser : System.Windows.Forms.Form
	{
		private System.Windows.Forms.ListView userList;
		private OleDbDataReader myReader;
		/// <summary>
		/// Erforderliche Designervariable.
		/// </summary>
		private System.ComponentModel.Container components = null;

		public editUser()
		{
			//
			// Erforderlich für die Windows Form-Designerunterstützung
			//
			InitializeComponent();
			userList = initLV(userList);
			userList = selectUsersFromDB(userList);
			userList.Visible = true;
			this.Controls.Add(userList);

			//
			// TODO: Fügen Sie den Konstruktorcode nach dem Aufruf von InitializeComponent hinzu
			//
		}

		/// <summary>
		/// Die verwendeten Ressourcen bereinigen.
		/// </summary>
		protected override void Dispose( bool disposing )
		{
			if( disposing )
			{
				if(components != null)
				{
					components.Dispose();
				}
			}
			base.Dispose( disposing );
		}

		#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>
		private void InitializeComponent()
		{
			this.userList = new System.Windows.Forms.ListView();
			this.SuspendLayout();
			// 
			// userList
			// 
			this.userList.AllowColumnReorder = true;
			this.userList.FullRowSelect = true;
			this.userList.GridLines = true;
			this.userList.Location = new System.Drawing.Point(80, 88);
			this.userList.MultiSelect = false;
			this.userList.Name = "userList";
			this.userList.Size = new System.Drawing.Size(536, 304);
			this.userList.TabIndex = 0;
			// 
			// editUser
			// 
			this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
			this.ClientSize = new System.Drawing.Size(704, 469);
			this.Controls.AddRange(new System.Windows.Forms.Control[] {
																		  this.userList});
			this.Name = "editUser";
			this.Text = "Benutzer bearbeiten";
			this.ResumeLayout(false);

		}
		#endregion

		private ListView selectUsersFromDB(ListView lv)
		{
				
			OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" +
				@"Data Source=C:\db1.mdb;");

			try
			{
				
				
				OleDbCommand myCommand = new OleDbCommand("SELECT anrede, vname, nname, adresse, plz, email, tele, fax FROM userTable", conn);

				conn.Open();

				myReader = myCommand.ExecuteReader();

				while (myReader.Read())
				{
					ListViewItem li = new ListViewItem();
					li.SubItems.Clear();
					li.SubItems.Add(myReader["anrede"].ToString());
					li.SubItems.Add(myReader["vname"].ToString());
					li.SubItems.Add(myReader["nname"].ToString());
					li.SubItems.Add(myReader["adresse"].ToString());
					li.SubItems.Add(myReader["plz"].ToString());
					li.SubItems.Add(myReader["email"].ToString());
					li.SubItems.Add(myReader["tele"].ToString());
					li.SubItems.Add(myReader["fax"].ToString());
				}
				return(lv);
				

				
					
			}			
			finally
			{
				// always call Close when done reading.
				myReader.Close();
				// always call Close when done reading.
				conn.Close();
			}
		}


			private ListView initLV(ListView lv)
			{
				//Table!
				lv.Columns.Add("Anrede", 100, HorizontalAlignment.Left);
				lv.Columns.Add("Vorname", 100, HorizontalAlignment.Left);
				lv.Columns.Add("Nachname", 100, HorizontalAlignment.Left);
				lv.Columns.Add("Adresse", 100, HorizontalAlignment.Left);
				lv.Columns.Add("PLZ", 100, HorizontalAlignment.Left);
				lv.Columns.Add("E-Mail", 100, HorizontalAlignment.Left);
				lv.Columns.Add("Telephone", 100, HorizontalAlignment.Left);
				lv.Columns.Add("FAX", 100, HorizontalAlignment.Left);
				return(lv);
				

			}



		
		
	}
}
```


----------



## Christian Fein (18. November 2002)

> _Original geschrieben von Badgott _
> *
> myReader = myCommand.ExecuteReader();
> 
> ...



Kann auch nicht gehen.
Du kreairst ein neues ListViewItem object und ordnest diesem nicht deiner List view zu sondern gibst diese ungeändert wieder zurück.

Du musst dein ListViewItem der ListViewItemCollection deiner ListView hinzufügen (vor rückgabe lv) dann geht das

lv.Items.Add(li);

PS: Bitte keine Komplett Quelltexte posten


----------



## goela (18. November 2002)

```
while (myReader.Read())
{
    ListViewItem li = new ListViewItem();
    li.SubItems.Clear();
    li.SubItems.Add(myReader["anrede"].ToString());
    li.SubItems.Add(myReader["vname"].ToString());
    li.SubItems.Add(myReader["nname"].ToString());
    li.SubItems.Add(myReader["adresse"].ToString());
    li.SubItems.Add(myReader["plz"].ToString());
    li.SubItems.Add(myReader["email"].ToString());
    li.SubItems.Add(myReader["tele"].ToString());
    li.SubItems.Add(myReader["fax"].ToString());

}
```

Irgendwie scheint mir, dass Du zwar ein ListViewItem erzeugst, dieses aber gar nicht dem ListView hinzufügst.

Fehlt da nicht sowas?

```
lv.Items.Add(li)
```


----------



## Christian Fein (18. November 2002)

plapper mir nicht nach goela


----------



## Badgott (18. November 2002)

hmmmm ok habe ich gemacht aber der zeigt immer noch nichts an :-(
Habe das ganze auch mal  so gemacht das eigentlich  was kommen müßte.

```
private ListView selectUsersFromDB(ListView lv)
		{
				
			ListViewItem li = new ListViewItem();
			li.SubItems.Clear();
			li.SubItems.Add("test");
			li.SubItems.Add("test");
			li.SubItems.Add("test");
			li.SubItems.Add("test");
			li.SubItems.Add("test");
			li.SubItems.Add("test");
			li.SubItems.Add("test");
			li.SubItems.Add("test");
			lv.Items.Add(li);

			return(lv);
}
```


----------



## Badgott (18. November 2002)

sorry geht doch  hatte ürgend wie ne falsche einstellung.! bei denn Eigenschaften


BIG THX Badgott


----------



## goela (18. November 2002)

> plapper mir nicht nach goela


Dies ist auf meinem Mist gewachsen und ich habe Dir nicht nachgeplappert. 
War gerade abgelenkt worden als ich es verfasst habe und habs etwas später abgeschickt als Du!  

Macht ja nichts! Ergebnis war ja das selbe!


----------



## Christian Fein (18. November 2002)

> _Original geschrieben von goela _
> *
> Macht ja nichts! Ergebnis war ja das selbe! *



und meine Zurechtweisung nicht wirklich ernstgemeint 

also schlag nen ei drüber


----------



## goela (18. November 2002)

> und meine Zurechtweisung nicht wirklich ernstgemeint


Habe ich mir schon gedacht! Aber ich wollte mich ja auch nur "entschuldigen", dass ich das selbe gepostet habe!


----------

