using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
List<DataShow> list = new List<DataShow>();
list.Add(new DataShow("张三", '男', 22));
list.Add(new DataShow("李四", '中', 33));
list.Add(new DataShow("小花", '女', 18));
// AutoGenerateColumns = true; 可以根据数据源的实际情况,自动生成表格列。
// AutoGenerateColumns = false; 根据程序中实际写的表格来显示。
dataGridView1.AutoGenerateColumns = false;
dataGridView1.DataSource = list; // 绑定数据源
}
}
public class DataShow
{
public string Name { get; set; }
public char Sex { get; set; }
public int Age { get; set; }
public DataShow(string name, char sex, int age)
{
this.Name = name;
this.Sex = sex;
this.Age = age;
}
}
}
DataGridView控件“编辑列”属性中的“DataPropertyName”必须绑定该列所显示信息对应类中的属性名:
最后运行结果如下:
方法2:
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
List<DataShow> list = new List<DataShow>();
list.Add(new DataShow("张三", '男', 22));
list.Add(new DataShow("李四", '中', 33));
list.Add(new DataShow("小花", '女', 18));
// 清空 dataGridView 上的数据:
dataGridView1.Rows.Clear();
// 有多少条数据就给 dataGridView 添加多少行:
for (int i = 0; i < list.Count; i++)
{
dataGridView1.Rows.Add();
}
DataShow data ;
for (int i = 0; i < list.Count; i++)
{
data = list[i];
// 给 dataGridView 添加数据:
dataGridView1.Rows[i].Cells["dataName"].Value = data.Name;
dataGridView1.Rows[i].Cells["dataSex"].Value = data.Sex;
dataGridView1.Rows[i].Cells["dataAge"].Value = data.Age;
}
}
}
public class DataShow
{
public string Name { get; set; }
public char Sex { get; set; }
public int Age { get; set; }
public DataShow(string name, char sex, int age)
{
this.Name = name;
this.Sex = sex;
this.Age = age;
}
}
}