C# ASP.Net如何从gridview C更新数据库#
如何从gridview更新SQL数据库?(更新记录后) 使用-SharePoint->Application page-I know,SharePoint…“让基本的事情变得更基本,让困难的事情变得不可能”(甚至没有SQLDatasource控件在旁边,如果你想添加它,你必须自己添加它-不知道他们是否不想让你添加到项目或其他东西中…) ,并启用C# ASP.Net如何从gridview C更新数据库#,c#,sql,database,sharepoint,C#,Sql,Database,Sharepoint,如何从gridview更新SQL数据库?(更新记录后) 使用-SharePoint->Application page-I know,SharePoint…“让基本的事情变得更基本,让困难的事情变得不可能”(甚至没有SQLDatasource控件在旁边,如果你想添加它,你必须自己添加它-不知道他们是否不想让你添加到项目或其他东西中…) ,并启用 AutoGenerateEditButton="True" 在gridview中。gridview的数据源是我从数据库填充的数据集 我认为如果没
AutoGenerateEditButton="True"
在gridview中。gridview的数据源是我从数据库填充的数据集
我认为如果没有绑定到gridview的SQLDatasource,您将不得不再次连接到数据库并手动更新数据库。
但是除了绑定到自动更新的gridview的SQLDataSource之外,我似乎找不到任何其他方法来实现这一点
方法,但需要绑定到gridview的SQLDatasource
编辑gridview后,您将如何更新数据库
--更新解决方案--添加了一些修改。谢谢
protected void Page_Load(object sender, EventArgs e)
{
int employeerId = 1;
//Add all the employees to the list to view them.
string query = "select emp.Name as [Employee Name], em.* from EthicsManagement em join EmployeeTable emp on em.employeeId = emp.employeeId where emp.managerId =" + employeerId;
DataSet ds = dbConn.returnSqlDataset(query);
grdViewDetails.DataSource = ds;
grdViewDetails.DataBind();
int x = grdViewDetails.Columns.Count;
//Hide the columns.
grdViewDetails.DataBind();
if (grdViewDetails.Columns.Count > 0)
{
grdViewDetails.Columns[2].Visible = false;
grdViewDetails.Columns[3].Visible = false;
}
else
{
grdViewDetails.HeaderRow.Cells[0].Visible = false;
foreach (GridViewRow gvr in grdViewDetails.Rows)
{
gvr.Cells[2].Visible = false;
gvr.Cells[3].Visible = false;
}
}
}
protected void grdViewDetails_RowEditing1(object sender, GridViewEditEventArgs e)
{
string query = "select emp.Name as [Employee Name], em.* from EthicsManagement em join EmployeeTable emp on em.employeeId = emp.employeeId where emp.managerId =" + 1;
grdViewDetails.EditIndex = e.NewEditIndex;
//e.newedit index:- will be provide index of row for which edit button is selected
grdViewDetails.DataSource = dbConn.returnSqlDataset(query);
grdViewDetails.DataBind();
}
protected void grdViewDetails_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string query = "select emp.Name as [Employee Name], em.* from EthicsManagement em join EmployeeTable emp on em.employeeId = emp.employeeId where emp.managerId =" + 1;
foreach (TableCell cell in grdViewDetails.Rows[e.RowIndex].Cells)
{
if (cell.Controls[0] is TextBox)
{
TextBox textbox = (TextBox)cell.Controls[0];
string value = textbox.Text;
}
else
{
if (cell.Controls[0] is CheckBox)
{
CheckBox chkBoxWeek = (CheckBox)cell.Controls[0];
Boolean checkStatus = chkBoxWeek.Checked;
}
}
}
行编辑:
当用户单击“编辑”按钮后返回时,将执行网格视图的行编辑事件。此事件将提供行索引
protected void gremp_rowediting(object sender,EventArgs e)
{
dataset ds=(dstaset)session["ds1"];
gvemp.editindex=e.new editindex;
//e.newedit index:- will be provide index of row for which edit button is selected
gvemp.Datasource=Ds.Table["employee"];
gvemp.Databind();
}
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
databind();
}
行更新:
这将执行回发,将执行网格视图的行更新事件过程
protected void gvemp-rowupdating(Object sender,EvenArgs e)
{
Textbox txt=(Textbox)gvemp.Rows[e.RowIndex].cells[3].controls[0];
//here i will update the third cell data in grid view
int avg=int.parse(txt.Text);
Dataset ds=(dataset)session["ds1"];
ds.Tables["employee"].rows[e.Rowindex]["Average"]=avg;
ds.Tables["employee"].AcceptChanges();
session["Ds1"]=ds;
//it will overwrite the session of Dataset
//Rearrange Gridview
gvemp.editIndex=-1;
gvemp.Datasource=Ds.Tables["employee"];
gvemp.DataBind();
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
Label l = (Label)GridView1.Rows[e.RowIndex].FindControl("Label1");
TextBox t1 = (TextBox)GridView1.Rows[e.RowIndex].FindControl("TextBox1");
TextBox t2 = (TextBox)GridView1.Rows[e.RowIndex].FindControl("TextBox2");
FileUpload fu = (FileUpload)GridView1.Rows[e.RowIndex].FindControl("FileUpload1");
string fpath = Server.MapPath("images");
string fname = fu.FileName;
string concat = fpath + "\\" + fname;
fu.SaveAs(concat);
cmd = new SqlCommand("update userdata set username='" + t1.Text + "', password='" + t2.Text + "' , Image = '" + "~/images/"+ fu.FileName + "' where userid='" + Convert.ToInt32(l.Text) + "'", con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
GridView1.EditIndex = -1;
databind();
}
有关详细信息,请访问此链接:
行编辑:当用户单击编辑按钮时,将执行网格视图的行编辑事件。此事件将提供行索引
protected void gremp_rowediting(object sender,EventArgs e)
{
dataset ds=(dstaset)session["ds1"];
gvemp.editindex=e.new editindex;
//e.newedit index:- will be provide index of row for which edit button is selected
gvemp.Datasource=Ds.Table["employee"];
gvemp.Databind();
}
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
databind();
}
行更新:执行回发,执行网格视图的行更新事件过程
protected void gvemp-rowupdating(Object sender,EvenArgs e)
{
Textbox txt=(Textbox)gvemp.Rows[e.RowIndex].cells[3].controls[0];
//here i will update the third cell data in grid view
int avg=int.parse(txt.Text);
Dataset ds=(dataset)session["ds1"];
ds.Tables["employee"].rows[e.Rowindex]["Average"]=avg;
ds.Tables["employee"].AcceptChanges();
session["Ds1"]=ds;
//it will overwrite the session of Dataset
//Rearrange Gridview
gvemp.editIndex=-1;
gvemp.Datasource=Ds.Tables["employee"];
gvemp.DataBind();
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
Label l = (Label)GridView1.Rows[e.RowIndex].FindControl("Label1");
TextBox t1 = (TextBox)GridView1.Rows[e.RowIndex].FindControl("TextBox1");
TextBox t2 = (TextBox)GridView1.Rows[e.RowIndex].FindControl("TextBox2");
FileUpload fu = (FileUpload)GridView1.Rows[e.RowIndex].FindControl("FileUpload1");
string fpath = Server.MapPath("images");
string fname = fu.FileName;
string concat = fpath + "\\" + fname;
fu.SaveAs(concat);
cmd = new SqlCommand("update userdata set username='" + t1.Text + "', password='" + t2.Text + "' , Image = '" + "~/images/"+ fu.FileName + "' where userid='" + Convert.ToInt32(l.Text) + "'", con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
GridView1.EditIndex = -1;
databind();
}