在窗体程序中,定义了一个类,类中若干字段。
在窗体载入事件中定义一个list集合 (集合.Add(new 类(){ XXXXX })加载内容。 用dataGridView.DataSource显示出来 为什么类中字段必须封装?不封装dataGridView显示不了内容?
在窗体载入事件中定义一个list集合 (集合.Add(new 类(){ XXXXX })加载内容。 用dataGridView.DataSource显示出来 为什么类中字段必须封装?不封装dataGridView显示不了内容?
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace xuliehua
{
[Serializable]
class Student
{
public int id { get; set; }
public string name { get; set; }
public int age { get; set; } //一定要写get,set的原因不懂。
}
}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;namespace xuliehua
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
List<Student> students = new List<Student>();
private void Form1_Load(object sender, EventArgs e)
{
students.Add(new Student() { id = 56, age = 14, name = "阿什顿" });
students.Add(new Student() { id = 5, age = 5, name = "已经" });
students.Add(new Student() { id = 9, age = 17, name = "宋德福" });
students.Add(new Student() { id = 3, age = 19, name = "sdf卓" });
students.Add(new Student() { id = 1, age = 16, name = "的说法卓" });
dataGridView1.DataSource = students; //不写get,set不能显示内容
}
}
}
数据绑定控件我没有看过源码 但是绑定的时候因为是通过给字符串表示的属性名 那么事实上是通过反射去查看元数据里面是否有这个名字的属性然后调用了getXXX方法而已