C# asp.net WebForm 的三层架构配合ListView实现增删改查源码
因为对listview不太熟悉所以需要借助源码来进行了解大家谁有源码呀?我要的不是简单的增删改查还有行编辑是用事件实现的比如说updatinginserting等等还有一...
因为对listview不太熟悉 所以需要借助源码来进行了解 大家谁有源码呀?我要的不是简单的增删改查 还有行编辑 是用事件实现的 比如说updating inserting等等 还有一个问题就是怎么在后台的事件中获得当前被编辑的实体对象(比如说在更新模板中我删除了一个字段,这样在更新的时候肯定会报错 所以就需要在updating事件中获得这个对象 然后在手动的赋值) 希望有对listview比较熟悉的知友能提供源码 或许提供思路也行 如果提供源码的知友希望能让功能全面一点(也就是能被使用的事件多一点 即使是没意义的也行)
如果满意的话 分都不是问题 您随便说 我修改财富就是了 谢谢大家了 展开
如果满意的话 分都不是问题 您随便说 我修改财富就是了 谢谢大家了 展开
3个回答
2016-06-22 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
C# asp.net WebForm 的三层架构配合ListView实现增删改查源码:
1、用Access新建一个表MResume,人事管理表:
ID 姓名 性别 出生日期 工作年限 证件类型 证件号 居住地 Email 手机号码 家庭电话 图片 自我评价
2、控件的使用:bindingNavigator(实现分页功能), dataGridView(显示数据)
在C# WinForm 中有这一个app.config的文件,这个文件的作用可以当作web程序中的webconfig文件。
这里面可以记录数据库连接字符串
Access下数据库连接函数:
public static OleDbConnection GetConnection()
{
OleDbConnection conn = null;
string strconnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + AppDomain.CurrentDomain.BaseDirectory + "database\\chinabase.mdb;Persist Security Info=True";
try
{
conn = new OleDbConnection(strconnectionString);
}
catch (Exception ex)
{
throw ex;
}
return conn;
}
3、把数据库中的数据读到dataGridView让这个控件来显示数据:
private void ResumeTest_Load(object sender, EventArgs e)
{
//手动代码把数据库中的数据显示出来
OleDbConnection conn = GetConnection();
string sqlText = "select 姓名,性别,出生日期,工作年限,证件类型,证件号,居住地,Email,手机号码,家庭电话,自我评价 from MResume order by id asc";
OleDbCommand cmd = new OleDbCommand(sqlText, conn);
try
{
conn.Open();
//int i = cmd.ExecuteNonQuery();
DataTable dt = new DataTable();
OleDbDataAdapter oda = new OleDbDataAdapter(sqlText, conn);
DataSet ds = new DataSet();
// oda.Fill(dt);
// dataGridView1.DataSource = dt;
oda.Fill(ds, "ds");
dtInfo.Clear();
//dtInfo = null;
dtInfo = ds.Tables[0];
InitDataSet(dtInfo); //初始化数据
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
conn.Close();
}
//设置GridView样式
// SetUpDataGridView();
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; //使用户能够选择行
this.dataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically; //双击不能修改了,这是通过编程的方式来修改单元格内容的
this.ComboxSelect.Items.Add("请选择类别");
this.ComboxSelect.Items.Add("姓名");
this.ComboxSelect.Items.Add("性别");
this.ComboxSelect.SelectedText = "请选择类别";
}
更新代码如下:
private void 修改ToolStripMenuItem_Click(object sender, EventArgs e)
{
dataGridView1_DoubleClick(sender, e);
//类似于dataGridView的更新操作,也就是双击操作
}
private void dataGridView1_CellMouseDown(object
DataGridViewCellMouseEventArgs e)
{
//判断如果点击的是鼠标右键
if (e.Button == MouseButtons.Right)
{
//判断鼠标点击在数据行上
if (e.RowIndex >= 0)
{
dataGridView1.ClearSelection();
dataGridView1.Rows[e.RowIndex].Selected = true;
dataGridView1.CurrentCell
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
}
}
}
删除代码如下:
public bool deletDataGridViewOneLine(object sender, EventArgs e)
{
bool result = false;
Int32 selectedRowCount
dataGridView1.Rows.GetRowCount(DataGridViewElementStates.Selected);
int selectedRow = dataGridView1.SelectedRows[0].Index; //获得选中的某行
string MName = dataGridView1.Rows[selectedRow].Cells[0].Value.ToString().Trim();
// MessageBox.Show(MName.ToString());
DialogResult dr = MessageBox.Show("确定要删除这条记录吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dr == DialogResult.Yes)
{
if (MName != null && MName != "")
{
OleDbConnection conn = GetConnection();
string sqlText = "delete from MResume where 姓名=@MName";
OleDbCommand cmd = new OleDbCommand(sqlText, conn);
cmd.Parameters.AddWithValue("@MName", MName);
try
{
conn.Open();
int i = cmd.ExecuteNonQuery();
result = true;
}
catch (Exception ex)
{
MessageBox.Show("发生异常:" + ex.ToString(), "提示");
}
查询代码如下:
private void btnSelect_Click(object sender, EventArgs e)
{
//首先进行模糊查询
string strComboxSelect = ComboxSelect.Text.Trim();
string strSearch = txtSearch.Text.Trim();
if(strComboxSelect.Equals("请选择类别"))
{
MessageBox.Show("请选择类别!","提示");
return;
}
if (strSearch == "" || strSearch == null)
{
MessageBox.Show("请输入查询内容!", "提示");
return;
}
//手动代码把数据库中的数据显示出来
OleDbConnection conn = GetConnection();
string sqlText = "select 姓名,性别,出生日期,工作年限,证件类型,证件号,居住地,Email,手机号码,家庭电话,自我评价 from MResume where " + strComboxSelect + " like '%"+@strSearch+"%'";
OleDbCommand cmd = new OleDbCommand(sqlText, conn);
cmd.Parameters.AddWithValue("@strSearch", strSearch);
try
{
conn.Open();
//int i = cmd.ExecuteNonQuery();
DataTable dt = new DataTable();
OleDbDataAdapter oda = new OleDbDataAdapter(sqlText, conn);
oda.Fill(dt);
dataGridView1.DataSource = dt;
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
1、用Access新建一个表MResume,人事管理表:
ID 姓名 性别 出生日期 工作年限 证件类型 证件号 居住地 Email 手机号码 家庭电话 图片 自我评价
2、控件的使用:bindingNavigator(实现分页功能), dataGridView(显示数据)
在C# WinForm 中有这一个app.config的文件,这个文件的作用可以当作web程序中的webconfig文件。
这里面可以记录数据库连接字符串
Access下数据库连接函数:
public static OleDbConnection GetConnection()
{
OleDbConnection conn = null;
string strconnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + AppDomain.CurrentDomain.BaseDirectory + "database\\chinabase.mdb;Persist Security Info=True";
try
{
conn = new OleDbConnection(strconnectionString);
}
catch (Exception ex)
{
throw ex;
}
return conn;
}
3、把数据库中的数据读到dataGridView让这个控件来显示数据:
private void ResumeTest_Load(object sender, EventArgs e)
{
//手动代码把数据库中的数据显示出来
OleDbConnection conn = GetConnection();
string sqlText = "select 姓名,性别,出生日期,工作年限,证件类型,证件号,居住地,Email,手机号码,家庭电话,自我评价 from MResume order by id asc";
OleDbCommand cmd = new OleDbCommand(sqlText, conn);
try
{
conn.Open();
//int i = cmd.ExecuteNonQuery();
DataTable dt = new DataTable();
OleDbDataAdapter oda = new OleDbDataAdapter(sqlText, conn);
DataSet ds = new DataSet();
// oda.Fill(dt);
// dataGridView1.DataSource = dt;
oda.Fill(ds, "ds");
dtInfo.Clear();
//dtInfo = null;
dtInfo = ds.Tables[0];
InitDataSet(dtInfo); //初始化数据
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
conn.Close();
}
//设置GridView样式
// SetUpDataGridView();
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; //使用户能够选择行
this.dataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically; //双击不能修改了,这是通过编程的方式来修改单元格内容的
this.ComboxSelect.Items.Add("请选择类别");
this.ComboxSelect.Items.Add("姓名");
this.ComboxSelect.Items.Add("性别");
this.ComboxSelect.SelectedText = "请选择类别";
}
更新代码如下:
private void 修改ToolStripMenuItem_Click(object sender, EventArgs e)
{
dataGridView1_DoubleClick(sender, e);
//类似于dataGridView的更新操作,也就是双击操作
}
private void dataGridView1_CellMouseDown(object
DataGridViewCellMouseEventArgs e)
{
//判断如果点击的是鼠标右键
if (e.Button == MouseButtons.Right)
{
//判断鼠标点击在数据行上
if (e.RowIndex >= 0)
{
dataGridView1.ClearSelection();
dataGridView1.Rows[e.RowIndex].Selected = true;
dataGridView1.CurrentCell
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
}
}
}
删除代码如下:
public bool deletDataGridViewOneLine(object sender, EventArgs e)
{
bool result = false;
Int32 selectedRowCount
dataGridView1.Rows.GetRowCount(DataGridViewElementStates.Selected);
int selectedRow = dataGridView1.SelectedRows[0].Index; //获得选中的某行
string MName = dataGridView1.Rows[selectedRow].Cells[0].Value.ToString().Trim();
// MessageBox.Show(MName.ToString());
DialogResult dr = MessageBox.Show("确定要删除这条记录吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dr == DialogResult.Yes)
{
if (MName != null && MName != "")
{
OleDbConnection conn = GetConnection();
string sqlText = "delete from MResume where 姓名=@MName";
OleDbCommand cmd = new OleDbCommand(sqlText, conn);
cmd.Parameters.AddWithValue("@MName", MName);
try
{
conn.Open();
int i = cmd.ExecuteNonQuery();
result = true;
}
catch (Exception ex)
{
MessageBox.Show("发生异常:" + ex.ToString(), "提示");
}
查询代码如下:
private void btnSelect_Click(object sender, EventArgs e)
{
//首先进行模糊查询
string strComboxSelect = ComboxSelect.Text.Trim();
string strSearch = txtSearch.Text.Trim();
if(strComboxSelect.Equals("请选择类别"))
{
MessageBox.Show("请选择类别!","提示");
return;
}
if (strSearch == "" || strSearch == null)
{
MessageBox.Show("请输入查询内容!", "提示");
return;
}
//手动代码把数据库中的数据显示出来
OleDbConnection conn = GetConnection();
string sqlText = "select 姓名,性别,出生日期,工作年限,证件类型,证件号,居住地,Email,手机号码,家庭电话,自我评价 from MResume where " + strComboxSelect + " like '%"+@strSearch+"%'";
OleDbCommand cmd = new OleDbCommand(sqlText, conn);
cmd.Parameters.AddWithValue("@strSearch", strSearch);
try
{
conn.Open();
//int i = cmd.ExecuteNonQuery();
DataTable dt = new DataTable();
OleDbDataAdapter oda = new OleDbDataAdapter(sqlText, conn);
oda.Fill(dt);
dataGridView1.DataSource = dt;
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
展开全部
半成品...看看吧
更多追问追答
追问
webForm和winform 还是有区别的 我要的是webForm
追答
。。。没注意,web哪来的ListView啊?我怎么想,列表页面数据绑定也只有GridView和DataList还有reapter啊!这个是半年前的半成品了,拿去看吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询