<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FCSharp_Tutorial%2FGUI_Windows_Forms%2FDataBinding_ListBox</id>
		<title>Csharp/CSharp Tutorial/GUI Windows Forms/DataBinding ListBox - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FCSharp_Tutorial%2FGUI_Windows_Forms%2FDataBinding_ListBox"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/GUI_Windows_Forms/DataBinding_ListBox&amp;action=history"/>
		<updated>2026-04-29T21:46:49Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/GUI_Windows_Forms/DataBinding_ListBox&amp;diff=5339&amp;oldid=prev</id>
		<title> в 15:31, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/GUI_Windows_Forms/DataBinding_ListBox&amp;diff=5339&amp;oldid=prev"/>
				<updated>2010-05-26T15:31:53Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:31, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/GUI_Windows_Forms/DataBinding_ListBox&amp;diff=5340&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/GUI_Windows_Forms/DataBinding_ListBox&amp;diff=5340&amp;oldid=prev"/>
				<updated>2010-05-26T12:15:03Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Bind ArrayList to ListBox==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Collections;&lt;br /&gt;
using System.ruponentModel;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Data.SqlClient;&lt;br /&gt;
public class Employee{&lt;br /&gt;
  public string ID;&lt;br /&gt;
  public string Name ;&lt;br /&gt;
  public  Employee(string strName, string strID)&lt;br /&gt;
  {&lt;br /&gt;
     this.ID = strID;&lt;br /&gt;
     this.Name = strName;&lt;br /&gt;
  }&lt;br /&gt;
  public override string ToString()&lt;br /&gt;
  {&lt;br /&gt;
     return this.ID + &amp;quot; : &amp;quot; + this.Name;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
public class ListBoxBindArrayList : System.Windows.Forms.Form&lt;br /&gt;
{&lt;br /&gt;
  private System.Windows.Forms.GroupBox groupBox1;&lt;br /&gt;
  private System.Windows.Forms.RadioButton rbAuthors;&lt;br /&gt;
  private System.Windows.Forms.RadioButton rbEmployees;&lt;br /&gt;
  private System.Windows.Forms.ListBox lb;&lt;br /&gt;
  private DataTable dataTable;&lt;br /&gt;
    private ArrayList Employees = new ArrayList();&lt;br /&gt;
  private System.ruponentModel.Container components = null;&lt;br /&gt;
  public ListBoxBindArrayList()&lt;br /&gt;
  {&lt;br /&gt;
    InitializeComponent();&lt;br /&gt;
    lb.Items.Add(&amp;quot;A&amp;quot;);&lt;br /&gt;
    lb.Items.Add(&amp;quot;B&amp;quot;);&lt;br /&gt;
    lb.Items.Add(&amp;quot;C&amp;quot;);&lt;br /&gt;
    lb.Items.Add(&amp;quot;D&amp;quot;);&lt;br /&gt;
    lb.Items.Add(&amp;quot;E&amp;quot;);&lt;br /&gt;
    lb.SelectedIndex = 0;&lt;br /&gt;
    // populate the arraylist for later use.&lt;br /&gt;
        Employees.Add(new Employee(&amp;quot;A&amp;quot;, &amp;quot;1&amp;quot;));&lt;br /&gt;
        Employees.Add(new Employee(&amp;quot;B&amp;quot;, &amp;quot;2&amp;quot;)); &lt;br /&gt;
        Employees.Add(new Employee(&amp;quot;C&amp;quot;, &amp;quot;3&amp;quot;));&lt;br /&gt;
        Employees.Add(new Employee(&amp;quot;D&amp;quot;, &amp;quot;4&amp;quot;));&lt;br /&gt;
        Employees.Add(new Employee(&amp;quot;E&amp;quot;, &amp;quot;5&amp;quot;));&lt;br /&gt;
        Employees.Add(new Employee(&amp;quot;F&amp;quot;, &amp;quot;6&amp;quot;));&lt;br /&gt;
        Employees.Add(new Employee(&amp;quot;G&amp;quot;, &amp;quot;7&amp;quot;));&lt;br /&gt;
  }&lt;br /&gt;
  protected override void Dispose( bool disposing )&lt;br /&gt;
  {&lt;br /&gt;
    if( disposing )&lt;br /&gt;
    {&lt;br /&gt;
      if (components != null) &lt;br /&gt;
      {&lt;br /&gt;
        components.Dispose();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    base.Dispose( disposing );&lt;br /&gt;
  }&lt;br /&gt;
  private void InitializeComponent()&lt;br /&gt;
  {&lt;br /&gt;
    this.lb = new System.Windows.Forms.ListBox();&lt;br /&gt;
    this.groupBox1 = new System.Windows.Forms.GroupBox();&lt;br /&gt;
    this.rbEmployees = new System.Windows.Forms.RadioButton();&lt;br /&gt;
    this.rbAuthors = new System.Windows.Forms.RadioButton();&lt;br /&gt;
    this.groupBox1.SuspendLayout();&lt;br /&gt;
    this.SuspendLayout();&lt;br /&gt;
    // &lt;br /&gt;
    // lb&lt;br /&gt;
    // &lt;br /&gt;
    this.lb.Location = new System.Drawing.Point(16, 8);&lt;br /&gt;
    this.lb.Name = &amp;quot;lb&amp;quot;;&lt;br /&gt;
    this.lb.Size = new System.Drawing.Size(232, 212);&lt;br /&gt;
    this.lb.TabIndex = 0;&lt;br /&gt;
    this.lb.DisplayMemberChanged += new System.EventHandler(this.lb_DisplayMemberChanged);&lt;br /&gt;
    this.lb.ValueMemberChanged += new System.EventHandler(this.lb_ValueMemberChanged);&lt;br /&gt;
    this.lb.DataSourceChanged += new System.EventHandler(this.lb_DataSourceChanged);&lt;br /&gt;
    this.lb.SelectedValueChanged += new System.EventHandler(this.lb_SelectedValueChanged);&lt;br /&gt;
    this.lb.SelectedIndexChanged += new System.EventHandler(this.lb_SelectedIndexChanged);&lt;br /&gt;
    // &lt;br /&gt;
    // groupBox1&lt;br /&gt;
    // &lt;br /&gt;
    this.groupBox1.Controls.AddRange(new System.Windows.Forms.Control[] {&lt;br /&gt;
                                                    this.rbEmployees,&lt;br /&gt;
                                                    this.rbAuthors});&lt;br /&gt;
    this.groupBox1.Location = new System.Drawing.Point(16, 240);&lt;br /&gt;
    this.groupBox1.Name = &amp;quot;groupBox1&amp;quot;;&lt;br /&gt;
    this.groupBox1.TabIndex = 1;&lt;br /&gt;
    this.groupBox1.TabStop = false;&lt;br /&gt;
    this.groupBox1.Text = &amp;quot;DataSource&amp;quot;;&lt;br /&gt;
    // &lt;br /&gt;
    // rbEmployees&lt;br /&gt;
    // &lt;br /&gt;
    this.rbEmployees.Location = new System.Drawing.Point(24, 56);&lt;br /&gt;
    this.rbEmployees.Name = &amp;quot;rbEmployees&amp;quot;;&lt;br /&gt;
    this.rbEmployees.TabIndex = 1;&lt;br /&gt;
    this.rbEmployees.Text = &amp;quot;Employee\&amp;quot;s&amp;quot;;&lt;br /&gt;
    this.rbEmployees.CheckedChanged += new System.EventHandler(this.rb_CheckedChanged);&lt;br /&gt;
    // &lt;br /&gt;
    // rbAuthors&lt;br /&gt;
    // &lt;br /&gt;
    this.rbAuthors.Checked = true;&lt;br /&gt;
    this.rbAuthors.Location = new System.Drawing.Point(24, 32);&lt;br /&gt;
    this.rbAuthors.Name = &amp;quot;rbAuthors&amp;quot;;&lt;br /&gt;
    this.rbAuthors.TabIndex = 0;&lt;br /&gt;
    this.rbAuthors.TabStop = true;&lt;br /&gt;
    this.rbAuthors.Text = &amp;quot;Authors&amp;quot;;&lt;br /&gt;
    this.rbAuthors.CheckedChanged += new System.EventHandler(this.rb_CheckedChanged);&lt;br /&gt;
    // &lt;br /&gt;
    // ListBoxBindArrayList&lt;br /&gt;
    // &lt;br /&gt;
    this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);&lt;br /&gt;
    this.ClientSize = new System.Drawing.Size(264, 389);&lt;br /&gt;
    this.Controls.AddRange(new System.Windows.Forms.Control[] {&lt;br /&gt;
                                             this.groupBox1,&lt;br /&gt;
                                             this.lb});&lt;br /&gt;
    this.Name = &amp;quot;ListBoxBindArrayList&amp;quot;;&lt;br /&gt;
    this.Text = &amp;quot;ListBoxBindArrayList&amp;quot;;&lt;br /&gt;
    this.Load += new System.EventHandler(this.ListBoxBindArrayList_Load);&lt;br /&gt;
    this.groupBox1.ResumeLayout(false);&lt;br /&gt;
    this.ResumeLayout(false);&lt;br /&gt;
  }&lt;br /&gt;
  [STAThread]&lt;br /&gt;
  static void Main() &lt;br /&gt;
  {&lt;br /&gt;
    Application.Run(new ListBoxBindArrayList());&lt;br /&gt;
  }&lt;br /&gt;
  private void rb_CheckedChanged(object sender, System.EventArgs e)&lt;br /&gt;
  {&lt;br /&gt;
    lb.DataSource = Employees;&lt;br /&gt;
    lb.DisplayMember = &amp;quot;Name&amp;quot;;&lt;br /&gt;
    lb.ValueMember = &amp;quot;ID&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  private void lb_SelectedIndexChanged(object sender, System.EventArgs e)&lt;br /&gt;
  {&lt;br /&gt;
    MessageBox.Show(lb.SelectedIndex.ToString()+ &amp;quot;\n&amp;quot; + lb.GetItemText(lb.SelectedItem),&amp;quot;lb_SelectedIndexChanged&amp;quot;);    &lt;br /&gt;
  }&lt;br /&gt;
  private void lb_SelectedValueChanged(object sender, System.EventArgs e)&lt;br /&gt;
  {&lt;br /&gt;
    MessageBox.Show(lb.GetItemText(lb.SelectedItem),&amp;quot;lb_SelectedValueChanged&amp;quot;);    &lt;br /&gt;
  }&lt;br /&gt;
  private void lb_DataSourceChanged(object sender, System.EventArgs e)&lt;br /&gt;
  {&lt;br /&gt;
    MessageBox.Show(lb.DataSource.ToString(), &amp;quot;lb_DataSourceChanged&amp;quot;);    &lt;br /&gt;
  }&lt;br /&gt;
  private void lb_DisplayMemberChanged(object sender, System.EventArgs e)&lt;br /&gt;
  {&lt;br /&gt;
    MessageBox.Show(lb.DisplayMember.ToString(), &amp;quot;lb_DisplayMemberChanged&amp;quot;);    &lt;br /&gt;
  }&lt;br /&gt;
  private void lb_ValueMemberChanged(object sender, System.EventArgs e)&lt;br /&gt;
  {&lt;br /&gt;
    MessageBox.Show(lb.ValueMember.ToString(), &amp;quot;lb_ValueMemberChanged&amp;quot;);    &lt;br /&gt;
  }&lt;br /&gt;
  private void ListBoxBindArrayList_Load(object sender, System.EventArgs e)&lt;br /&gt;
  {&lt;br /&gt;
    this.lb.SelectedValueChanged += new System.EventHandler(this.lb_SelectedValueChanged);&lt;br /&gt;
    this.lb.SelectedIndexChanged += new System.EventHandler(this.lb_SelectedIndexChanged);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Master detail view==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Collections;&lt;br /&gt;
using System.ruponentModel;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Data.SqlClient;&lt;br /&gt;
  public class MasterDetail : System.Windows.Forms.Form&lt;br /&gt;
  {&lt;br /&gt;
    public MasterDetail()&lt;br /&gt;
    {&lt;br /&gt;
      this.lstCategories = new System.Windows.Forms.ListBox();&lt;br /&gt;
      this.lstProducts = new System.Windows.Forms.ListBox();&lt;br /&gt;
      this.label1 = new System.Windows.Forms.Label();&lt;br /&gt;
      this.label2 = new System.Windows.Forms.Label();&lt;br /&gt;
      this.SuspendLayout();&lt;br /&gt;
      // &lt;br /&gt;
      this.lstCategories.Location = new System.Drawing.Point(8, 28);&lt;br /&gt;
      this.lstCategories.Size = new System.Drawing.Size(140, 225);&lt;br /&gt;
      this.lstCategories.TabIndex = 0;&lt;br /&gt;
      this.lstCategories.SelectedIndexChanged += new System.EventHandler(this.lstCategories_SelectedIndexChanged);&lt;br /&gt;
      // &lt;br /&gt;
      this.lstProducts.Location = new System.Drawing.Point(152, 28);&lt;br /&gt;
      this.lstProducts.Size = new System.Drawing.Size(252, 225);&lt;br /&gt;
      this.lstProducts.TabIndex = 1;&lt;br /&gt;
      // &lt;br /&gt;
      this.label1.Location = new System.Drawing.Point(8, 8);&lt;br /&gt;
      this.label1.Size = new System.Drawing.Size(108, 16);&lt;br /&gt;
      this.label1.TabIndex = 2;&lt;br /&gt;
      this.label1.Text = &amp;quot;Category:&amp;quot;;&lt;br /&gt;
      // &lt;br /&gt;
      this.label2.Location = new System.Drawing.Point(152, 8);&lt;br /&gt;
      this.label2.Size = new System.Drawing.Size(108, 16);&lt;br /&gt;
      this.label2.TabIndex = 3;&lt;br /&gt;
      this.label2.Text = &amp;quot;Products:&amp;quot;;&lt;br /&gt;
      // &lt;br /&gt;
      this.AutoScaleBaseSize = new System.Drawing.Size(5, 14);&lt;br /&gt;
      this.ClientSize = new System.Drawing.Size(412, 266);&lt;br /&gt;
      this.Controls.AddRange(new System.Windows.Forms.Control[] {&lt;br /&gt;
                                      this.label2,&lt;br /&gt;
                                      this.label1,&lt;br /&gt;
                                      this.lstProducts,&lt;br /&gt;
                                      this.lstCategories});&lt;br /&gt;
      this.Font = new System.Drawing.Font(&amp;quot;Tahoma&amp;quot;, 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));&lt;br /&gt;
      this.Text = &amp;quot;A Master-Detail Form&amp;quot;;&lt;br /&gt;
      this.Load += new System.EventHandler(this.MasterDetail_Load);&lt;br /&gt;
      this.ResumeLayout(false);&lt;br /&gt;
    }&lt;br /&gt;
    string connectionString = &amp;quot;Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI&amp;quot;;&lt;br /&gt;
    string categorySQL = &amp;quot;SELECT * FROM Categories&amp;quot;;&lt;br /&gt;
    string productSQL = &amp;quot;SELECT * FROM Products&amp;quot;;&lt;br /&gt;
    DataSet ds = new DataSet();&lt;br /&gt;
    DataRelation relation;&lt;br /&gt;
    private System.Windows.Forms.ListBox lstCategories;&lt;br /&gt;
    private System.Windows.Forms.Label label1;&lt;br /&gt;
    private System.Windows.Forms.Label label2;&lt;br /&gt;
    private System.Windows.Forms.ListBox lstProducts;&lt;br /&gt;
    public static void Main()&lt;br /&gt;
    {&lt;br /&gt;
      Application.Run(new MasterDetail());&lt;br /&gt;
    }&lt;br /&gt;
    private void MasterDetail_Load(object sender, System.EventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
      SqlConnection con = new SqlConnection(connectionString);&lt;br /&gt;
      SqlCommand com = new SqlCommand(categorySQL, con);&lt;br /&gt;
      SqlDataAdapter adapter = new SqlDataAdapter(com);&lt;br /&gt;
    &lt;br /&gt;
        con.Open();&lt;br /&gt;
      adapter.Fill(ds, &amp;quot;Categories&amp;quot;);&lt;br /&gt;
      adapter.SelectCommand.rumandText = productSQL;&lt;br /&gt;
      adapter.Fill(ds, &amp;quot;Products&amp;quot;);&lt;br /&gt;
      con.Close();&lt;br /&gt;
      DataColumn parentCol = ds.Tables[&amp;quot;Categories&amp;quot;].Columns[&amp;quot;CategoryID&amp;quot;];&lt;br /&gt;
      DataColumn childCol = ds.Tables[&amp;quot;Products&amp;quot;].Columns[&amp;quot;CategoryID&amp;quot;];&lt;br /&gt;
      relation = new DataRelation(&amp;quot;Cat_Prod&amp;quot;, parentCol, childCol);&lt;br /&gt;
      ds.Relations.Add(relation);&lt;br /&gt;
      foreach (DataRow row in ds.Tables[&amp;quot;Categories&amp;quot;].Rows)&lt;br /&gt;
      {&lt;br /&gt;
        lstCategories.Items.Add(row[&amp;quot;CategoryName&amp;quot;]);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    private void lstCategories_SelectedIndexChanged(object sender, System.EventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
            lstProducts.Items.Clear();&lt;br /&gt;
      DataRow[] rows = ds.Tables[&amp;quot;Categories&amp;quot;].Select(&amp;quot;CategoryName=&amp;quot;&amp;quot; + lstCategories.Text + &amp;quot;&amp;quot;&amp;quot;);&lt;br /&gt;
      DataRow parent = rows[0];&lt;br /&gt;
      foreach (DataRow child in parent.GetChildRows(relation))&lt;br /&gt;
      {&lt;br /&gt;
        lstProducts.Items.Add(child[&amp;quot;ProductName&amp;quot;]);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>