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.Configuration;
namespace 填充DataSet
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
DataSet ds = new DataSet();
private void Form1_Load(object sender, EventArgs e)
{
BindCbo();
string sql = "select sId,sName,sAge,sSex,sBirthday,sClassId from student";
BindDgv(sql);
//把选择的值绑定到显示控件上
textBox1.DataBindings.Add("Text", dataGridView1.DataSource, "sName");
textBox2.DataBindings.Add("Text", dataGridView1.DataSource, "sAge");
textBox3.DataBindings.Add("Text", dataGridView1.DataSource, "sSex");
comboBox1.DataBindings.Add("selectedValue", dataGridView1.DataSource, "sClassId");
}
void BindCbo()
{
DataTable dt=new DataTable();
string sql = "select * from class";
using (SqlConnection conn = new SqlConnection(connStr))
{
using (SqlDataAdapter sda = new SqlDataAdapter(sql, conn))
{
sda.Fill(dt);
}
}
DataRow dr = dt.NewRow();
dr["cName"] = "请选择";
dr["cId"] = -1;
dt.Rows.InsertAt(dr, 0);
//设置下拉框 显示的列
cboSClass.DisplayMember = "cName";
//数据绑定 隐藏值列
cboSClass.ValueMember = "cId";
//数据绑定
cboSClass.DataSource = dt;
}
void BindDgv(string sql)
{
//清空datatable中的数据
if (ds.Tables.Count > 0)
{
ds.Tables[0].Rows.Clear();
}
using (SqlConnection conn = new SqlConnection(connStr))
{
using (SqlDataAdapter sda = new SqlDataAdapter(sql, conn))
{
sda.Fill(ds);
}
}
//不自动添加列
dataGridView1.AutoGenerateColumns = false;
//绑定
dataGridView1.DataSource = ds.Tables[0];
}
private void btnSave_Click(object sender, EventArgs e)
{
string sql = "select sId,sName,sAge,sSex,sBirthday,sClassId from student";
using (SqlConnection conn = new SqlConnection(connStr))
{
using (SqlDataAdapter sda = new SqlDataAdapter(sql, conn))
{
SqlCommandBuilder scb = new SqlCommandBuilder(sda);
sda.Update(ds);
}
}
}
private void btnSearch_Click(object sender, EventArgs e)
{
string sql = "select * from Student where 1=1";
if (cboSClass.SelectedValue.ToString() != "-1")
{
sql += " and sClassId=" + cboSClass.SelectedValue.ToString();
}
if (txtSName.Text.Length > 0)
{
sql += " and sName like '%" + txtSName.Text + "%'";
}
if (txtSSex.Text.Length > 0)
{
sql += " and sSex='" + txtSSex.Text + "'";
}
BindDgv(sql);
}
}
}