Csharp/C Sharp by API/System.Windows.Forms/ListViewItem

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

ListViewItem.SubItems.Add

<source lang="csharp"> using System; using System.Drawing; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data; using System.Data.SqlClient; public class Form1 : System.Windows.Forms.Form {

  private System.Windows.Forms.Label label1;
  private System.Windows.Forms.Button cmdExecute;
  private System.Windows.Forms.TextBox txtSql;
  private System.Windows.Forms.ListView lvwResult;
  private System.ruponentModel.Container components = null;
  public Form1() {
     InitializeComponent();
  }
  private void InitializeComponent() {
     this.label1 = new System.Windows.Forms.Label();
     this.cmdExecute = new System.Windows.Forms.Button();
     this.txtSql = new System.Windows.Forms.TextBox();
     this.lvwResult = new System.Windows.Forms.ListView();
     this.SuspendLayout();
     this.label1.Location = new System.Drawing.Point(0, 0);
     this.label1.Name = "label1";
     this.label1.Size = new System.Drawing.Size(296, 16);
     this.label1.TabIndex = 0;
     this.label1.Text = "Enter a SQL query or statement and click Execute.";
     this.cmdExecute.Location = new System.Drawing.Point(227, 224);
     this.cmdExecute.Name = "cmdExecute";
     this.cmdExecute.TabIndex = 1;
     this.cmdExecute.Text = "Execute";
     this.cmdExecute.Click += new System.EventHandler(this.cmdExecute_Click);
     this.txtSql.Location = new System.Drawing.Point(0, 16);
     this.txtSql.Multiline = true;
     this.txtSql.Name = "txtSql";
     this.txtSql.Size = new System.Drawing.Size(528, 200);
     this.txtSql.TabIndex = 2;
     this.txtSql.Text = "";
     this.lvwResult.GridLines = true;
     this.lvwResult.Location = new System.Drawing.Point(0, 256);
     this.lvwResult.Name = "lvwResult";
     this.lvwResult.Size = new System.Drawing.Size(528, 200);
     this.lvwResult.TabIndex = 3;
     this.lvwResult.View = System.Windows.Forms.View.Details;
     this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
     this.ClientSize = new System.Drawing.Size(528, 452);
     this.Controls.Add(this.lvwResult);
     this.Controls.Add(this.txtSql);
     this.Controls.Add(this.cmdExecute);
     this.Controls.Add(this.label1);
     this.Name = "Form1";
     this.Text = "Query Processor";
     this.ResumeLayout(false);
  }
  static void Main() {
     Application.Run(new Form1());
  }
  private void cmdExecute_Click(object sender, System.EventArgs e) {
    SqlConnection conn = new SqlConnection("server=(local)\\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI");
    try {
      lvwResult.Columns.Clear() ;
      lvwResult.Items.Clear();
      conn.Open();
      txtSql.Text ="select * from Employee";
      SqlCommand cmd = conn.CreateCommand();
      cmd.rumandText = txtSql.Text;
      SqlDataReader dr = cmd.ExecuteReader();
      for (int i = 0; i< dr.FieldCount; i++) {
        ColumnHeader ch = new ColumnHeader();
        ch.Text=dr.GetName(i);
        lvwResult.Columns.Add(ch);
      }
      ListViewItem itmX; 
      while (dr.Read()) {
        itmX=new ListViewItem(); 
        itmX.Text= dr.GetValue(0).ToString();
        for (int i=1 ; i< dr.FieldCount; i++) {
           itmX.SubItems.Add(dr.GetValue(i).ToString());
        }
        lvwResult.Items.Add(itmX);
      }
      dr.Close();
   } catch ( System.Data.SqlClient.SqlException  ex) {
      Console.WriteLine("There was an error in executing the SQL." +
              "\nError Message:" + ex.Message, "SQL");
   } finally {
      conn.Close();
   }
 }

}

 </source>