学习网址:
http://www.cnblogs.com/guolebin7/archive/2012/09/18/2690902.html
http://www.cnblogs.com/Johness/archive/2012/03/30/2424315.html
<appSettings>
<add key="MyTest" value="Server=.\MYSQL2008;uid=sa;pwd=sa123456;Database=MyTest;" ></add>
<add key="MySqlDataBase" value="Server=.\MYSQL2008;uid=sa;pwd=sa123456;Database=MySqlDataBase;" />
</appSettings>
<!--<dataConfiguration defaultDatabase="MySqlDataBase" />-->
<connectionStrings>
<add name="ApplicationServices"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
<add name="MySqlDataBase" providerName="System.Data.SqlClient" connectionString="Server=.\MYSQL2008;uid=sa;pwd=sa123456;Database=MySqlDataBase;" />
</connectionStrings>
UserInfo class
public UserInfo()
{ }
private int _c_id;
private string _c_code;
private string _c_name;
private string _c_remark;
//private string _c_telephone;
//private string _c_address;
//private DateTime? _c_db_create_date;
//private int? _c_db_create_id;
//private DateTime _c_db_last_update_date;
//private int? _c_db_last_update_id;
//private int _c_db_status = 0;
/// <summary>
///
/// </summary>
public int c_id
{
set { _c_id = value; }
get { return _c_id; }
}
/// <summary>
///
/// </summary>
public string c_code
{
set { _c_code = value; }
get { return _c_code; }
}
/// <summary>
///
/// </summary>
public string c_name
{
set { _c_name = value; }
get { return _c_name; }
}
/// <summary>
///
/// </summary>
public string c_remark
{
set { _c_remark = value; }
get { return _c_remark; }
}
/ <summary>
/
/ </summary>
//public string c_telephone
//{
// set { _c_telephone = value; }
// get { return _c_telephone; }
//}
/ <summary>
/
/ </summary>
//public string c_address
//{
// set { _c_address = value; }
// get { return _c_address; }
//}
//public DateTime? c_db_create_date
//{
// set { _c_db_create_date = value; }
// get { return _c_db_create_date; }
//}
/ <summary>
/
/ </summary>
//public int? c_db_create_id
//{
// set { _c_db_create_id = value; }
// get { return _c_db_create_id; }
//}
/ <summary>
/
/ </summary>
//public DateTime c_db_last_update_date
//{
// set { _c_db_last_update_date = value; }
// get { return _c_db_last_update_date; }
//}
/ <summary>
/
/ </summary>
//public int? c_db_last_update_id
//{
// set { _c_db_last_update_id = value; }
// get { return _c_db_last_update_id; }
//}
/ <summary>
/ 0正常,1删除,2回收站
/ </summary>
//public int c_db_status
//{
// set { _c_db_status = value; }
// get { return _c_db_status; }
//}
UserInfo class:
public static DbBase db = new DbBase();
/// <summary>
/// 对象实体绑定数据
/// </summary>
public UserInfo DataTableToListBind(DataTable dt)
{
UserInfo model = new UserInfo();
object ojb;
ojb = dt.Columns["c_id"];
if (ojb != null && ojb != DBNull.Value)
{
model.c_id = (int)ojb;
}
model.c_code = dt.Columns["c_code"].ToString();
model.c_name = dt.Columns["c_name"].ToString();
model.c_remark = dt.Columns["c_remark"].ToString();
//model.c_telephone = dt["c_telephone"].ToString();
//model.c_address = dt["c_address"].ToString();
//ojb = dt["c_db_create_date"];
//if (ojb != null && ojb != DBNull.Value)
//{
// model.c_db_create_date = (DateTime)ojb;
//}
//ojb = dt["c_db_create_id"];
//if (ojb != null && ojb != DBNull.Value)
//{
// model.c_db_create_id = (int)ojb;
//}
//ojb = dt["c_db_last_update_date"];
//if (ojb != null && ojb != DBNull.Value)
//{
// model.c_db_last_update_date = (DateTime)ojb;
//}
//ojb = dt["c_db_last_update_id"];
//if (ojb != null && ojb != DBNull.Value)
//{
// model.c_db_last_update_id = (int)ojb;
//}
//ojb = dt["c_db_status"];
//if (ojb != null && ojb != DBNull.Value)
//{
// model.c_db_status = (int)ojb;
//}
return model;
}
public List<UserInfo> GetModelList(string strWhere)
{
DataSet ds = db.DS(strWhere);
return DataTableToList(ds.Tables[0]);
}
public List<UserInfo> DataTableToList(DataTable dt)
{
List<UserInfo> entityList = new List<UserInfo>();
int rowCount = dt.Rows.Count;
if (rowCount > 0)
{
UserInfo entity;
for (int i = 0; i < rowCount; i++)
{
entity = DataRowToEntity(dt.Rows[i]);
if (entity != null)
{
entityList.Add(entity);
}
}
}
return entityList;
}
public UserInfo DataRowToEntity(DataRow dr)
{
UserInfo entity = new UserInfo();
if (dr != null)
{
if (dr["c_id"] != null && dr["c_id"].ToString() != "")
{
entity.c_id = int.Parse(dr["c_id"].ToString());
}
if (dr["c_code"] != null && dr["c_code"].ToString() != "")
{
entity.c_code = dr["c_code"].ToString();
}
if (dr["c_name"] != null && dr["c_name"].ToString() != "")
{
entity.c_name = dr["c_name"].ToString();
}
if (dr["c_remark"] != null && dr["c_remark"].ToString() != "")
{
entity.c_remark = dr["c_remark"].ToString();
}
//if (dr["c_is_defalut"] != null && dr["c_is_defalut"].ToString() != "")
// {
// if ((dr["c_is_defalut"].ToString() == "1") || (dr["c_is_defalut"].ToString().ToLower() == "true"))
// {
// entity. = true;
// }c_is_defalut
// else
// {
// entity.c_is_defalut = false;
// }
// }
}
return entity;
}
public DataTable GetDgvToTable(DataGridView dgv)
{
DataTable dt = new DataTable();
for (int count = 0; count < dgv.Columns.Count; count++)
{
DataColumn dc = new DataColumn(dgv.Columns[count].Name);
dt.Columns.Add(dc);
}
for (int i = 0; i < dgv.RowCount; i++)
{
DataGridViewCheckBoxCell checkCell = (DataGridViewCheckBoxCell)dgv.Rows[i].Cells[0];
Boolean flag = Convert.ToBoolean(checkCell.Value);
if (flag == true)
{
DataRow dr = dt.NewRow();
for (int countsub = 0; countsub < dgv.Columns.Count; countsub++)
{
dr[countsub] = Convert.ToString(dgv.Rows[i].Cells[countsub].Value);
}
dt.Rows.Add(dr);
}
}
//for (int count = 0; count < dgv.Rows.Count; count++)
//{
// DataRow dr = dt.NewRow();
// for (int countsub = 0; countsub < dgv.Columns.Count; countsub++)
// {
// dr[countsub] = Convert.ToString(dgv.Rows[count].Cells[countsub].Value);
// }
// dt.Rows.Add(dr);
//}
return dt;
}
DbBase class:
public DbBase()
{ }
public DataSet DS(string strSql)
{
string strConnection = ConfigurationManager.AppSettings["MySqlDataBase"].ToString();
//string strConnection = ConfigurationManager.ConnectionStrings["MySqlDataBase"].ConnectionString;
//string strSql = "select * from studentInfo where c_name like '%" + Session["Key"].ToString() +"%'";
//string strSql = "SELECT * FROM (SELECT row_number() over(order by Gs.PtypeId) AS rw,Gs.Qty as 数量,Gs.Price as 单价,Gs.Total as 总金额,Pt.* FROM GoodsStocks Gs left join ptype as Pt on Pt.ptypeid=Gs.PtypeId ) t WHERE rw between 1 AND 10;";
SqlConnection conn = new SqlConnection(strConnection);
conn.Open();
SqlCommand cmd = new SqlCommand();
SqlDataAdapter da = new SqlDataAdapter(strSql, conn);
conn.Close();
DataSet ds = new DataSet();
da.Fill(ds);
return ds;
}
Form1 后台代码:
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
DataInit();
}
public void DataInit()
{
string strSql = "select c_id,c_code,c_name from studentInfo where c_db_status=0";
DataSet ds = DS(strSql);
dataGridView1.DataSource = ds.Tables[0];
//dataGridView1.DataBindings();
}
/// <summary>
/// 获取指定名称的数据库连接字符串
/// </summary>
/// <param name="connectionName">连接名</param>
/// <returns>连接字符串</returns>
private static string GetConnectionString(string connectionName)
{
return ConfigurationManager.ConnectionStrings[connectionName].ConnectionString.ToString();
}
public DataSet DS(string strSql)
{
//dataGridView1.AutoGenerateColumns = false;
string strConnection = ConfigurationManager.AppSettings["MySqlDataBase"].ToString();
//string strConnection = ConfigurationManager.ConnectionStrings["MySqlDataBase"].ConnectionString;
//string strSql = "select * from studentInfo where c_name like '%" + Session["Key"].ToString() +"%'";
//string strSql = "SELECT * FROM (SELECT row_number() over(order by Gs.PtypeId) AS rw,Gs.Qty as 数量,Gs.Price as 单价,Gs.Total as 总金额,Pt.* FROM GoodsStocks Gs left join ptype as Pt on Pt.ptypeid=Gs.PtypeId ) t WHERE rw between 1 AND 10;";
SqlConnection conn = new SqlConnection(strConnection);
conn.Open();
SqlCommand cmd = new SqlCommand();
SqlDataAdapter da = new SqlDataAdapter(strSql, conn);
conn.Close();
DataSet ds = new DataSet();
da.Fill(ds);
return ds;
}
private void btnToListView_Click(object sender, EventArgs e)
{
int count = Convert.ToInt32(dataGridView1.Rows.Count.ToString());
for (int i = 0; i < count; i++)
{
//如果DataGridView是可编辑的,将数据提交,否则处于编辑状态的行无法取到
dataGridView1.EndEdit();
DataGridViewCheckBoxCell checkCell = (DataGridViewCheckBoxCell)dataGridView1.Rows[i].Cells[0];
Boolean flag = Convert.ToBoolean(checkCell.Value);
if (flag == true) //查找被选择的数据行
{
//从 DATAGRIDVIEW 中获取数据项
string z_zcode = dataGridView1.Rows[i].Cells[0].Value.ToString().Trim();
}
}
//这里仅限树立思路,剩下的代码有你自己写
//1.首先要做到的是GridView的行点击事件,这里可以获取到当前行的ID,这个ID是唯一值
//获取了当前的数据之后我们可以读取当前数据通过ID更新当前数据的State状态值(可以理解成软删除),
//读取出当前行 的数据意味着是一个UserInfo实体,直接用实体赋值到ListView里面去。这里没有技术难点就是死路的梳理
List<UserInfo> userlist = new List<UserInfo>();
DataTable dt = new DataTable();
UserInfoDAL dal = new UserInfoDAL();
dt = dal.GetDgvToTable(dataGridView1);
userlist = dal.DataTableToList(dt);
//UserInfo user = new UserInfo();
//user.c_name = "小丁";
//userlist.Add(user);
//UserInfo user1 = new UserInfo();
//user1.c_name = "小郭";
//userlist.Add(user1);
//userlist.Add(new DBNull {ID=dataGridView1.Rows[i].Cells["ID"].Value,Name=...});
foreach (UserInfo u in userlist)
{
this.listView1.Items.Add(u.c_name);
}
}
private void btnToDataGridView_Click(object sender, EventArgs e)
{
}
点击按钮前:
点击按钮后: