如何更新网格视图数据表中的行 [英] How can i update a row in grid view datatable

查看:92
本文介绍了如何更新网格视图数据表中的行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

网格视图在其上添加新行和更新而不是更新所选行,我在同一个提交按钮上插入和更新



什么我试过了:



protected void btnSubmitProject_Click(object sender,EventArgs e)

{

尝试

{

if(dt == null)

{

{

dt = new DataTable();

DataColumn dc1 = new DataColumn(ProjectName);

DataColumn dc2 = new DataColumn(Description);

DataColumn dc3 = new DataColumn(EntityID);

dt.Columns.Add(dc1);

dt.Columns.Add(dc2);

dt.Columns.Add(dc3);

}

DataRow dr1 = d t.NewRow();

dr1 [0] = txtProjectName.Text;

dr1 [1] = txtDescription.Text;

dr1 [ 2] = dt.Rows.Count + 1;



dt.Rows.Add(dr1);





会话[data_table] = dt;



gvProjects.DataSource =(DataTable)会话[data_table];

gvProjects.DataBind();







Panel3.Visible = false ;

Panel2.Visible = true;



}









else

{

DataRow [] rows = dt.Select( EntityID ='+ index +');

if(rows.Length> 0)

{

foreach(DataRow排成行)

{



row [ProjectName] = txtProjectName.Text;

row [Description] = txtDescription.Text;



row [ EntityID] =索引+ 1;

dt.AcceptChanges();

row.SetModified();

}

}

其他

{



DataRow dr1 = dt.NewRow();



dr1 [0] = txtProjectName.Text;

dr1 [1] = txtDescription.Text;

dr1 [2 ] = dt.Rows.Count + 1;



dt.Rows.Add(dr1);

}



会话[data_table] = dt;



gvProjects.DataSource = dt;

gvProjects.DataBind();







Panel3.Visible = false;

Panel2.Visible = true;

}

}



catch(Exception ex)

{

lblProjectmsg.Text = ex.Message;

}



ProjectClearfields();

}





protected void gvProjects_RowUpdating(object sender,GridViewUpdateEventArgs e)

{

Panel3.Visible = true;

Panel2.Visible = false;



string ProjectName = null;

string描述= null;

index = e.RowIndex;



for(int i = 0;我< gvProjects.Rows.Count; i ++)

{



ProjectName =((TextBox)gvProjects.Rows [index] .FindControl(txtProjectName))。文本。 Trim();

描述=((TextBox)gvProjects.Rows [index] .FindControl(txtDescription))。Text.Trim();

}





txtProjectName.Text = ProjectName;

txtDescription.Text = Description;

}

The Grid view adds a new row and updates on it instead of updating the selected row, I insert and update on the same submit button

What I have tried:

protected void btnSubmitProject_Click(object sender, EventArgs e)
{
try
{
if (dt == null)
{
{
dt = new DataTable();
DataColumn dc1 = new DataColumn("ProjectName");
DataColumn dc2 = new DataColumn("Description");
DataColumn dc3 = new DataColumn("EntityID");
dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
dt.Columns.Add(dc3);
}
DataRow dr1 = dt.NewRow();
dr1[0] = txtProjectName.Text;
dr1[1] = txtDescription.Text;
dr1[2] = dt.Rows.Count + 1;

dt.Rows.Add(dr1);


Session["data_table"] = dt;

gvProjects.DataSource = (DataTable)Session["data_table"];
gvProjects.DataBind();



Panel3.Visible = false;
Panel2.Visible = true;

}




else
{
DataRow[] rows = dt.Select("EntityID='" + index + "'");
if (rows.Length > 0)
{
foreach (DataRow row in rows)
{

row["ProjectName"] = txtProjectName.Text;
row["Description"] = txtDescription.Text;

row["EntityID"] = index + 1;
dt.AcceptChanges();
row.SetModified();
}
}
else
{

DataRow dr1 = dt.NewRow();

dr1[0] = txtProjectName.Text;
dr1[1] = txtDescription.Text;
dr1[2] = dt.Rows.Count + 1;

dt.Rows.Add(dr1);
}

Session["data_table"] = dt;

gvProjects.DataSource = dt;
gvProjects.DataBind();



Panel3.Visible = false;
Panel2.Visible = true;
}
}

catch (Exception ex)
{
lblProjectmsg.Text = ex.Message;
}

ProjectClearfields();
}


protected void gvProjects_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
Panel3.Visible = true;
Panel2.Visible = false;

string ProjectName = null;
string Description = null;
index = e.RowIndex;

for (int i = 0; i < gvProjects.Rows.Count; i++)
{

ProjectName = ((TextBox)gvProjects.Rows[index].FindControl("txtProjectName")).Text.Trim();
Description = ((TextBox)gvProjects.Rows[index].FindControl("txtDescription")).Text.Trim();
}


txtProjectName.Text = ProjectName;
txtDescription.Text = Description;
}

推荐答案

protected void btnSubmitProject_Click(object sender,EventArgs e)

{

try

{

if(dt == null)

{

{

dt = new DataTable ();

DataColumn dc1 = new DataColumn(ProjectName);

DataColumn dc2 = new DataColumn(Descrip );

DataColumn dc3 = new DataColumn(EntityID);

dt.Columns.Add(dc1);

dt。 Columns.Add(dc2);

dt.Columns.Add(dc3);

}

DataRow dr1 = dt.NewRow();

dr1 [0] = txtProjectName.Text;

dr1 [1] = txtDescription.Text;

dr1 [2] = dt.Rows .Count + 1;



dt.Rows.Add(dr1);





Session [data_table] = dt;



gvProjects.DataSource =(DataTable)Session [data_table];

gvProjects.DataBind();







Panel3.Visible = false;

Panel2.Visible = true;



}









else

{

DataRow [] rows = dt.Select(EntityID ='+ index +');

if(rows.Length> ; 0)

{

foreach(DataRow排成行)

{



row [ProjectName] = txtProjectName.Text;

row [Description] = txtDescription.Text;



row [ EntityID] =索引+ 1;

dt.AcceptChanges();

row.SetModified();

}

}

其他

{



DataRow dr1 = dt.NewRow();



dr1 [0] = txtProjectName.Text;

dr1 [1] = txtDescription.Text;

dr1 [2 ] = dt.Rows.Count + 1;



dt.Rows.Add(dr1);

}



会话[data_table] = dt;



gvProjects.DataSource = dt;

gvProjects.DataBind();







Panel3.Visible = false;

Panel2.Visible = true;

}

}



catch(Exception ex)

{

lblProjectmsg.Text = ex.Message;

}



ProjectClearfields();

}
protected void btnSubmitProject_Click(object sender, EventArgs e)
{
try
{
if (dt == null)
{
{
dt = new DataTable();
DataColumn dc1 = new DataColumn("ProjectName");
DataColumn dc2 = new DataColumn("Description");
DataColumn dc3 = new DataColumn("EntityID");
dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
dt.Columns.Add(dc3);
}
DataRow dr1 = dt.NewRow();
dr1[0] = txtProjectName.Text;
dr1[1] = txtDescription.Text;
dr1[2] = dt.Rows.Count + 1;

dt.Rows.Add(dr1);


Session["data_table"] = dt;

gvProjects.DataSource = (DataTable)Session["data_table"];
gvProjects.DataBind();



Panel3.Visible = false;
Panel2.Visible = true;

}




else
{
DataRow[] rows = dt.Select("EntityID='" + index + "'");
if (rows.Length > 0)
{
foreach (DataRow row in rows)
{

row["ProjectName"] = txtProjectName.Text;
row["Description"] = txtDescription.Text;

row["EntityID"] = index + 1;
dt.AcceptChanges();
row.SetModified();
}
}
else
{

DataRow dr1 = dt.NewRow();

dr1[0] = txtProjectName.Text;
dr1[1] = txtDescription.Text;
dr1[2] = dt.Rows.Count + 1;

dt.Rows.Add(dr1);
}

Session["data_table"] = dt;

gvProjects.DataSource = dt;
gvProjects.DataBind();



Panel3.Visible = false;
Panel2.Visible = true;
}
}

catch (Exception ex)
{
lblProjectmsg.Text = ex.Message;
}

ProjectClearfields();
}


这篇关于如何更新网格视图数据表中的行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆