前言:
这个Demo实现能够在界面里对DataGridView控件中的数据进行添加。
首先:
我们在msdn中可以查看到DataGridView的属性和功能:
MSDN地址
界面:
如图:
一个名为information的Groupbox
包含:2个textbox分别用来存放name和bir
两radiobutton 用来选择性别
一个button的Add
右边为DataGridView
核心代码:
在窗体的构造函数 ,添加对DataGridView的初始化操作,代码如下:
初始化效果为将DataGridView分为3列分别存放我们输入的信息。
public Form1()
{
InitializeComponent();
//设置列数
dataGridView1.ColumnCount = 3;
//设置是否显示第一列
dataGridView1.ColumnHeadersVisible = true;
DataGridViewCellStyle dataGridViewCellStyle = new DataGridViewCellStyle();
dataGridViewCellStyle.BackColor = Color.Black;
dataGridView1.Columns[0].Name = "Name";
dataGridView1.Columns[1].Name = "Bir";
dataGridView1.Columns[2].Name = "Sex";
}
生成一个stduent类:
public class Stduent
{
private string name;
private string bir;
private string sex;
public string Name
{
get { return name; }
set { name = value; }
}
public string Bir
{
get { return bir; }
set { bir = value; }
}
public string Sex
{
get { return sex; }
set { sex = value; }
}
}
由于DataGridView显示的周期为一次程序执行,为了暂存我们输入的数据我们要生成一个成员变量
/// <summary>
/// 用来暂储输入的stduent
/// </summary>
List<Stduent> stduents = new List<Stduent>();
Add按钮点击事件,将我们输入的信息add进dataGridView1.Rows
private void button1_Click(object sender, EventArgs e)
{
if(textBox1.Text == "" || textBox2.Text == "")
{
MessageBox.Show("Information Empty !", "提示!");
return;
}
string name = textBox1.Text;
string bir = textBox2.Text;
string sex = "";
if (radioButton1.Checked) sex = radioButton1.Text;
else if (radioButton2.Checked) sex = radioButton2.Text;
else { MessageBox.Show("Check Sex !", "提示!"); return; }
Stduent stduent = new Stduent()//记录添加的stduent
{
Name = name,
Bir = bir,
Sex = sex,
};
stduents.Add(stduent);//将输入的加入暂存
dataGridView1.Rows.Clear();//清空
foreach(Stduent s in stduents)
{
string[] str = new string[] { s.Name, s.Bir, s.Sex };
dataGridView1.Rows.Add(str);
}
}