C# asp GridView未被绑定
我的代码的问题是,我正在尝试更新数据表(删除几行),然后尝试将其分配给网格视图数据源。数据表正在更新并在Gridview中。DataSource=dt;(数据源显示了完美的数据)但Gridview没有得到更新 我需要在这里添加一些内容吗C# asp GridView未被绑定,c#,asp.net,gridview,C#,Asp.net,Gridview,我的代码的问题是,我正在尝试更新数据表(删除几行),然后尝试将其分配给网格视图数据源。数据表正在更新并在Gridview中。DataSource=dt;(数据源显示了完美的数据)但Gridview没有得到更新 我需要在这里添加一些内容吗 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Bi
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindData();
try
{
GridViewTree1.DataBind();
}
catch (Exception ex)
{
throw;
}
}
GridViewTree1.Visible = true;
GridViewHistory.Visible = false;
dt = Session["dt"] as DataTable;
DeleteParentRowsWithNoChilds(dt);
dt.AcceptChanges();
GridViewTree1.EditIndex = -1;
GridViewTree1.DataSource = dt;
GridViewTree1.DataBind();
}
private void DeleteParentRowsWithNoChilds(DataTable dt)
{
DataRow[] FolderRows;
FolderRows = dt.Select("IsFolder='true'");
foreach (DataRow row in FolderRows)
{
int RowId = int.Parse(row["Id"].ToString());
int nextRowid = RowId + 1;
DataRow[] nextrow = dt.Select("Id='" + nextRowid + "'");
if (nextrow.Count() > 0 && !nextrow[0].ToString().Contains('\\'))
{
dt.Rows.Remove(row);
}
//If it is a last row
else
{
dt.Rows.Remove(row);
}
}
}
您所做的是删除
行
,但不更新会话dt
,这就是为什么它总是在数据表
中获取以前的值,因此您应该在删除行
后更新会话
,如
private void DeleteParentRowsWithNoChilds(DataTable dt)
{
DataRow[] FolderRows;
FolderRows = dt.Select("IsFolder='true'");
foreach (DataRow row in FolderRows)
{
int RowId = int.Parse(row["Id"].ToString());
int nextRowid = RowId + 1;
DataRow[] nextrow = dt.Select("Id='" + nextRowid + "'");
if (nextrow.Count() > 0 && !nextrow[0].ToString().Contains('\\'))
{
dt.Rows.Remove(row);
}
//If it is a last row
else
{
dt.Rows.Remove(row);
}
}
Session["dt"] = dt;
}
添加GridViewTree1.DataSource=null;GridViewTree1.DataSource=dt之前的代码;您是如何为会话[“dt”]赋值的?@MuradGaribzada..我试过了。但是GridViewTree1中的dvtree仍然没有得到更新的反映values@Usman..Mydatatable是完美的。它已经更新。我的问题是gridViewTree1没有被分配datatable值。