C# 从网格视图中删除行而不使用数据库
我正在使用此代码从网格视图中删除行,并且这些行正在被删除,但是当我向网格视图添加新行时,删除的行会再次返回任何建议我应该如何从网格视图中删除行,并且我没有在其上使用数据库。提前谢谢C# 从网格视图中删除行而不使用数据库,c#,C#,我正在使用此代码从网格视图中删除行,并且这些行正在被删除,但是当我向网格视图添加新行时,删除的行会再次返回任何建议我应该如何从网格视图中删除行,并且我没有在其上使用数据库。提前谢谢 protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) { DataTable dt = new DataTable(); dt.Columns.Add(new DataCo
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("EmpId", typeof(string)));
dt.Columns.Add(new DataColumn("EmpName", typeof(string)));
dt.Columns.Add(new DataColumn("DeptName", typeof(string)));
dt.Columns.Add(new DataColumn("EmpAddress", typeof(string)));
dt.Columns.Add(new DataColumn("EmpSalary", typeof(string)));
string Id = string.Empty;
string Name = string.Empty;
string DeptName = string.Empty;
string EmpAddress = string.Empty;
string EmpSalary = string.Empty;
for (int i = 0; i < GridView1.Rows.Count; i++)
{
GridViewRow row = (GridViewRow)GridView1.Rows[i];
if (i != e.RowIndex)
{
Id = row.Cells[1].Text;
Name = row.Cells[2].Text;
DeptName = row.Cells[3].Text;
EmpAddress = row.Cells[4].Text;
EmpSalary = row.Cells[5].Text;
DataRow dr = dt.NewRow();
dr["EmpId"] = Id;
dr["EmpName"] = Name;
dr["DeptName"] = DeptName;
dr["EmpAddress"] = EmpAddress;
dr["EmpSalary"] = EmpSalary;
dt.Rows.Add(dr);
}
}
GridView1.EditIndex = -1;
GridView1.DataBind();
GridView1.DataSource = dt;
}
受保护的无效GridView1\u行删除(对象发送方,GridViewDeleteEventArgs e)
{
DataTable dt=新的DataTable();
Add(新数据列(“EmpId”,typeof(string));
Add(新数据列(“EmpName”,typeof(string));
Add(新的数据列(“DeptName”,typeof(string));
Add(新的数据列(“EmpAddress”,typeof(string));
Add(新的数据列(“EmpSalary”,typeof(string));
string Id=string.Empty;
string Name=string.Empty;
string DeptName=string.Empty;
string EmpAddress=string.Empty;
string empalary=string.Empty;
对于(int i=0;i
我的“添加到行”代码如下
private void AddNewRecordRowToGrid()
{
// check view state is not null
if (ViewState["EmployeeDetails"] != null)
{
//get datatable from view state
DataTable dtCurrentTable = (DataTable)ViewState["EmployeeDetails"];
DataRow drCurrentRow = null;
if (dtCurrentTable.Rows.Count > 0)
{
for (int i = 1; i <= dtCurrentTable.Rows.Count; i++)
{
//add each row into data table
drCurrentRow = dtCurrentTable.NewRow();
drCurrentRow["EmpId"] = txtEmpId.Text;
drCurrentRow["EmpName"] = txtEmpName.Text;
drCurrentRow["DeptName"] = txtDeptName.Text;
drCurrentRow["EmpAddress"] = txtEmpAddress.Text;
drCurrentRow["EmpSalary"] = txtEmpSalary.Text;
}
//Remove initial blank row
if (dtCurrentTable.Rows[0][0].ToString() == "")
{
dtCurrentTable.Rows[0].Delete();
dtCurrentTable.AcceptChanges();
}
//add created Rows into dataTable
dtCurrentTable.Rows.Add(drCurrentRow);
//Bind Gridview with latest Row
GridView1.DataSource = dtCurrentTable;
GridView1.DataBind();
}
}
}
private void AddNewRecordRowToGrid()
{
//检查视图状态不为空
如果(ViewState[“EmployeeDetails”]!=null)
{
//从视图状态获取数据表
DataTable dtCurrentTable=(DataTable)视图状态[“EmployeeDetails”];
DataRow drCurrentRow=null;
如果(dtCurrentTable.Rows.Count>0)
{
对于(int i=1;i,因为您在从ViewState添加后加载员工
DataTable dtCurrentTable = (DataTable)ViewState["EmployeeDetails"];
删除的行没有在那里删除。我建议在您的视图状态中编辑数据表
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
if (ViewState["EmployeeDetails"] != null)
{
DataTable dtCurrentTable = (DataTable)ViewState["EmployeeDetails"];
dtCurrentTable.Rows.RemoveAt(e.RowIndex);
ViewState["EmployeeDetails"] = dtCurrentTable;
GridView1.EditIndex = -1;
GridView1.DataBind();
GridView1.DataSource = dtCurrentTable;
}
}
及
因为您在从ViewState添加后加载了员工
DataTable dtCurrentTable = (DataTable)ViewState["EmployeeDetails"];
删除的行没有在那里删除。我建议在您的视图状态中编辑数据表
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
if (ViewState["EmployeeDetails"] != null)
{
DataTable dtCurrentTable = (DataTable)ViewState["EmployeeDetails"];
dtCurrentTable.Rows.RemoveAt(e.RowIndex);
ViewState["EmployeeDetails"] = dtCurrentTable;
GridView1.EditIndex = -1;
GridView1.DataBind();
GridView1.DataSource = dtCurrentTable;
}
}
及
错误在未显示的AddRow
方法中的某个地方-我假设您再次使用该方法绑定数据库中的数据(数据未被删除)@fubo我已发布了我的AddRow错误在未显示的AddRow
方法中的某个地方-我假设您再次使用该方法绑定数据库中的数据(数据未被删除的地方)@fubo我已发布我的添加行