ListView Example : ListView « GUI Windows Form « C# / C Sharp

C# / C Sharp
1. 2D Graphics
2. Collections Data Structure
3. Components
4. Database ADO.net
5. Development Class
6. Event
7. File Stream
8. GUI Windows Form
9. Language Basics
10. Network
11. Office
12. Regular Expressions
13. Services Event
14. Thread
15. Web Services
16. Windows
17. XML
Microsoft Office Word 2007 Tutorial
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
C# / CSharp Tutorial
ASP.Net
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
PHP
Python
SQL Server / T-SQL
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
C# / C Sharp » GUI Windows Form » ListViewScreenshots 
ListView Example
ListView Example


/*
User Interfaces in C#: Windows Forms and Custom Controls
by Matthew MacDonald

Publisher: Apress
ISBN: 1590590457
*/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace ListViewExample
{
  /// <summary>
  /// Summary description for ListViewExample.
  /// </summary>
  public class ListViewExample : System.Windows.Forms.Form
  {
    internal System.Windows.Forms.GroupBox GroupBox1;
    internal System.Windows.Forms.RadioButton optLargeIcon;
    internal System.Windows.Forms.RadioButton optList;
    internal System.Windows.Forms.RadioButton optDetails;
    internal System.Windows.Forms.RadioButton optSmallIcon;
    internal System.Windows.Forms.Button cmdFillList;
    internal System.Windows.Forms.ListView listAuthors;
    internal System.Windows.Forms.ImageList imagesLarge;
    internal System.Windows.Forms.ImageList imagesSmall;
    private System.ComponentModel.IContainer components;

    public ListViewExample()
    {
      //
      // Required for Windows Form Designer support
      //
      InitializeComponent();

      //
      // TODO: Add any constructor code after InitializeComponent call
      //
    }

    /// <summary>
    /// Clean up any resources being used.
    /// </summary>
    protected override void Disposebool disposing )
    {
      ifdisposing )
      {
        if (components != null
        {
          components.Dispose();
        }
      }
      base.Disposedisposing );
    }

    #region Windows Form Designer generated code
    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    private void InitializeComponent()
    {
      this.components = new System.ComponentModel.Container();
      System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(ListViewExample));
      this.GroupBox1 = new System.Windows.Forms.GroupBox();
      this.optLargeIcon = new System.Windows.Forms.RadioButton();
      this.optList = new System.Windows.Forms.RadioButton();
      this.optDetails = new System.Windows.Forms.RadioButton();
      this.optSmallIcon = new System.Windows.Forms.RadioButton();
      this.cmdFillList = new System.Windows.Forms.Button();
      this.listAuthors = new System.Windows.Forms.ListView();
      this.imagesLarge = new System.Windows.Forms.ImageList(this.components);
      this.imagesSmall = new System.Windows.Forms.ImageList(this.components);
      this.GroupBox1.SuspendLayout();
      this.SuspendLayout();
      // 
      // GroupBox1
      // 
      this.GroupBox1.Anchor = (System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right);
      this.GroupBox1.Controls.AddRange(new System.Windows.Forms.Control[] {
                                          this.optLargeIcon,
                                          this.optList,
                                          this.optDetails,
                                          this.optSmallIcon});
      this.GroupBox1.FlatStyle = System.Windows.Forms.FlatStyle.System;
      this.GroupBox1.Font = new System.Drawing.Font("Tahoma"8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
      this.GroupBox1.Location = new System.Drawing.Point(27612);
      this.GroupBox1.Name = "GroupBox1";
      this.GroupBox1.Size = new System.Drawing.Size(104132);
      this.GroupBox1.TabIndex = 5;
      this.GroupBox1.TabStop = false;
      this.GroupBox1.Text = "View";
      // 
      // optLargeIcon
      // 
      this.optLargeIcon.Checked = true;
      this.optLargeIcon.FlatStyle = System.Windows.Forms.FlatStyle.System;
      this.optLargeIcon.Font = new System.Drawing.Font("Tahoma"8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
      this.optLargeIcon.Location = new System.Drawing.Point(1648);
      this.optLargeIcon.Name = "optLargeIcon";
      this.optLargeIcon.Size = new System.Drawing.Size(7616);
      this.optLargeIcon.TabIndex = 0;
      this.optLargeIcon.TabStop = true;
      this.optLargeIcon.Text = "LargeIcon";
      this.optLargeIcon.CheckedChanged += new System.EventHandler(this.NewView);
      // 
      // optList
      // 
      this.optList.FlatStyle = System.Windows.Forms.FlatStyle.System;
      this.optList.Font = new System.Drawing.Font("Tahoma"8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
      this.optList.Location = new System.Drawing.Point(1696);
      this.optList.Name = "optList";
      this.optList.Size = new System.Drawing.Size(5616);
      this.optList.TabIndex = 0;
      this.optList.Text = "List";
      this.optList.CheckedChanged += new System.EventHandler(this.NewView);
      // 
      // optDetails
      // 
      this.optDetails.FlatStyle = System.Windows.Forms.FlatStyle.System;
      this.optDetails.Font = new System.Drawing.Font("Tahoma"8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
      this.optDetails.Location = new System.Drawing.Point(1672);
      this.optDetails.Name = "optDetails";
      this.optDetails.Size = new System.Drawing.Size(7216);
      this.optDetails.TabIndex = 0;
      this.optDetails.Text = "Details";
      this.optDetails.CheckedChanged += new System.EventHandler(this.NewView);
      // 
      // optSmallIcon
      // 
      this.optSmallIcon.FlatStyle = System.Windows.Forms.FlatStyle.System;
      this.optSmallIcon.Font = new System.Drawing.Font("Tahoma"8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
      this.optSmallIcon.Location = new System.Drawing.Point(1624);
      this.optSmallIcon.Name = "optSmallIcon";
      this.optSmallIcon.Size = new System.Drawing.Size(7216);
      this.optSmallIcon.TabIndex = 0;
      this.optSmallIcon.Text = "SmallIcon";
      this.optSmallIcon.CheckedChanged += new System.EventHandler(this.NewView);
      // 
      // cmdFillList
      // 
      this.cmdFillList.Anchor = (System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right);
      this.cmdFillList.FlatStyle = System.Windows.Forms.FlatStyle.System;
      this.cmdFillList.Font = new System.Drawing.Font("Tahoma"8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
      this.cmdFillList.Location = new System.Drawing.Point(276152);
      this.cmdFillList.Name = "cmdFillList";
      this.cmdFillList.Size = new System.Drawing.Size(10424);
      this.cmdFillList.TabIndex = 4;
      this.cmdFillList.Text = "Fill List";
      this.cmdFillList.Click += new System.EventHandler(this.cmdFillList_Click);
      // 
      // listAuthors
      // 
      this.listAuthors.Activation = System.Windows.Forms.ItemActivation.OneClick;
      this.listAuthors.AllowColumnReorder = true;
      this.listAuthors.Anchor = (((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom
        | System.Windows.Forms.AnchorStyles.Left
        | System.Windows.Forms.AnchorStyles.Right);
      this.listAuthors.GridLines = true;
      this.listAuthors.HoverSelection = true;
      this.listAuthors.Location = new System.Drawing.Point(88);
      this.listAuthors.Name = "listAuthors";
      this.listAuthors.Size = new System.Drawing.Size(260332);
      this.listAuthors.Sorting = System.Windows.Forms.SortOrder.Ascending;
      this.listAuthors.TabIndex = 3;
      this.listAuthors.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.listAuthors_ColumnClick);
      // 
      // imagesLarge
      // 
      this.imagesLarge.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit;
      this.imagesLarge.ImageSize = new System.Drawing.Size(3232);
      this.imagesLarge.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imagesLarge.ImageStream")));
      this.imagesLarge.TransparentColor = System.Drawing.Color.Transparent;
      // 
      // imagesSmall
      // 
      this.imagesSmall.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit;
      this.imagesSmall.ImageSize = new System.Drawing.Size(1616);
      this.imagesSmall.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imagesSmall.ImageStream")));
      this.imagesSmall.TransparentColor = System.Drawing.Color.Transparent;
      // 
      // ListViewExample
      // 
      this.AutoScaleBaseSize = new System.Drawing.Size(514);
      this.ClientSize = new System.Drawing.Size(388349);
      this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                      this.GroupBox1,
                                      this.cmdFillList,
                                      this.listAuthors});
      this.Font = new System.Drawing.Font("Tahoma"8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
      this.Name = "ListViewExample";
      this.Text = "ListView Example";
      this.Load += new System.EventHandler(this.ListViewExample_Load);
      this.GroupBox1.ResumeLayout(false);
      this.ResumeLayout(false);

    }
    #endregion

    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main() 
    {
      Application.Run(new ListViewExample());
    }

    private void cmdFillList_Click(object sender, System.EventArgs e)
    {
      DataTable dt = StoreDB.GetProducts();

      // Suspending automatic refreshes as items are added/removed.
      listAuthors.BeginUpdate();

      listAuthors.SmallImageList = imagesSmall;
      listAuthors.LargeImageList = imagesLarge;
      foreach (DataRow dr in dt.Rows)
      {
        ListViewItem listItem = new ListViewItem(dr["ModelName"].ToString());
        listItem.ImageIndex = 0;

        // Add sub-items for Details view.
        listItem.SubItems.Add(dr["ProductID"].ToString());
        listItem.SubItems.Add(dr["Description"].ToString());

        listAuthors.Items.Add(listItem);
      }

      // Add column headers for Details view.
      listAuthors.Columns.Add("Product"100, HorizontalAlignment.Left);
      listAuthors.Columns.Add("ID"100, HorizontalAlignment.Left);
      listAuthors.Columns.Add("Description"100, HorizontalAlignment.Left);

      // Re-enable the display.
      listAuthors.EndUpdate();

    }

    private void ListViewExample_Load(object sender, System.EventArgs e)
    {
      optLargeIcon.Tag = View.LargeIcon;
      optSmallIcon.Tag = View.SmallIcon;
      optDetails.Tag = View.Details;
      optList.Tag = View.List;
       cmdFillList_Click(null, null);
    }

    private void NewView(object sender, System.EventArgs e)
    {
      // Set the current view mode based on the number in the tag value of the
      // selected radio button.

      listAuthors.View = (View)(((Control)sender).Tag);

      // Display the current view style.
      this.Text = "Using View: " + listAuthors.View.ToString();
    }

    private void listAuthors_ColumnClick(object sender, System.Windows.Forms.ColumnClickEventArgs e)
    {
      // Specify an alphabetic sort based on the column that was clicked.
      listAuthors.ListViewItemSorter = new CompareListViewItems(e.Column, true);

      // Perform the sort.
      listAuthors.Sort();
    }

  }

  public class CompareListViewItems : IComparer
  {
    // This index identifies the column that is used for sorting
    public readonly int Column;

    // Is the sort alphabetic or number?
    public readonly bool Alphabetic;

    public CompareListViewItems(int columnIndex, bool alphabetic)
    {
      this.Column = columnIndex;
      this.Alphabetic = alphabetic;
    }

    public int Compare(object x, object y)
    {
      // Convert the items that must be compared into ListViewItem objects.
      string listX = ((ListViewItem)x).SubItems[Column].Text;
      string listY = ((ListViewItem)y).SubItems[Column].Text;

      // Sort using the specified column and specified sorting type.
      if (Alphabetic)
      {
        return listX.CompareTo(listY);
        
      }
      else
      {
        if (int.Parse(listXint.Parse(listY))
        {
          return 1;
        }
        else if (int.Parse(listX== int.Parse(listY))
        {
          return 0;
        }
        else
        {
          return -1;
        }
      }
    }
  }


  public class StoreDB
  {
    public static DataTable GetProducts()
    {
      DataSet dsStore = new DataSet();
      dsStore.ReadXmlSchema(Application.StartupPath + "\\store.xsd");
      dsStore.ReadXml(Application.StartupPath + "\\store.xml");
      return dsStore.Tables["Products"];
    }
  }
}


           
       
ListViewExample.zip( 47 k)
Related examples in the same category
1. ListView Item clicked eventListView Item clicked event
2. Folder Browser based on ListViewFolder Browser based on ListView
3. Sort a List View by Any ColumnSort a List View by Any Column
4. Add Data to a ListView
5. Extends ListViewItem
6. Use RadioButton to control the ListView display styleUse RadioButton to control the ListView display style
7. Display Directory info in a ListViewDisplay Directory info in a ListView
8. Add ListView column and insert ListView rowsAdd ListView column and insert ListView rows
9. ListView Country: image and fontListView Country: image and font
10. Use ListView to display File info: name, size and dateUse ListView to display File info: name, size and date
11. Use ListView to display file name and double click the name to execute that fileUse ListView to display file name and double click the name to execute that file
12. Use ListView to diaplay folder info and double click to enter that directoryUse ListView to diaplay folder info and double click to enter that directory
ww_w.___jav__a2__s_.c__o___m__ | Contact Us
Copyright 2003 - 08 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.