DataGridView.DataSource=ArrayList 绑定示例

用DataReader读取数据记录并填充到ArrayList,然后将DataGridView的DataSource绑定到ArrayList,就可以显示网格表数据了。

代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using System.Data.SqlClient;
using
 System.Collections;

namespace snippetWinForm
{
    
public partial class frmSnippet : Form
    {
        
public frmSnippet()
        {
            InitializeComponent();
        }

        
//Variable declaration
        string connectionString = "Data Source=.\\sqlexpress; Initial Catalog=Northwind; Integrated security=true;";
        
string selectString = "select productname, quantityPerUnit, unitPrice, unitsInStock, UnitsOnOrder from products";
        ArrayList al 
= new ArrayList();

        
/// <summary>
        
/// 加载数据,并填充到ArrayList对象
        
/// </summary>
        
/// <param name="sender"></param>
        
/// <param name="e"></param>
        private void btnLoad_Click(object sender, EventArgs e)
        {
            
using (SqlConnection cn = new SqlConnection(connectionString))
            {
                SqlCommand cmd 
= new SqlCommand(selectString, cn);
                cn.Open();

                SqlDataReader dr 
= cmd.ExecuteReader(CommandBehavior.CloseConnection);

                
if (dr.HasRows )
                {
                    
foreach (var item in dr)
                    {
                        al.Add(item);
                    }
                }
                cn.Close();
            }
            MessageBox.Show(
"Data Load finished, you can bind the data now!""Data Load");
        }

        private void btnBind_Click(object sender, EventArgs e)
        {
            dgvProducts.
DataSource = al;
        }
    }
}
原文地址:https://www.cnblogs.com/flaaash/p/1977806.html