C# 隐藏gridview中最后一行的按钮
我正在使用下面的代码隐藏/编辑和删除C# 隐藏gridview中最后一行的按钮,c#,asp.net,.net,gridview,C#,Asp.net,.net,Gridview,我正在使用下面的代码隐藏/编辑和删除gridview中的最后一行 当我使用页面索引时,按钮会隐藏在每一页的最后一行吗 protected void Page_PreRender(object sender, EventArgs e) { var lastRow = gvDetails.Rows[gvDetails.Rows.Count - 1]; lastRow.FindControl("btnEdit").Visible = false; lastRow.FindC
gridview
中的最后一行
当我使用页面索引时,按钮会隐藏在每一页的最后一行吗
protected void Page_PreRender(object sender, EventArgs e)
{
var lastRow = gvDetails.Rows[gvDetails.Rows.Count - 1];
lastRow.FindControl("btnEdit").Visible = false;
lastRow.FindControl("btnDelete").Visible = false;
}
有什么克服这个问题的建议吗
另外,我使用下面的方法绑定网格并添加一个新的datarow,该datarow具有列的总和。现在,如何将此datarow添加为gridview的第一行
public void LoadData()
{
DataTable dtDetails = DetailsDataRepository.GetDetails();
BindDetailsGrid(dtDetails);
DataTable dt = DetailsDataRepository.GetSum();
DataRow dr = dtDetails.NewRow();
dr["Total_Amount"] = Convert.ToDecimal(dt.Rows[0]["Total_Amount"].ToString().Substring(1)).ToString("C0");
dr["Monthly_Amount"] = Convert.ToDecimal(dt.Rows[0]["Monthly_Amount"].ToString().Substring(1)).ToString("C0");
dtDetails.Rows.InsertAt(dr,0);
gvDetails.DataSource = dtDetails;
gvDetails.DataBind();
if (gvDetails.PageIndex == 0)
{
var lastRow = gvDetails.Rows[0];
lastRow.FindControl("btnEdit").Visible = false;
lastRow.FindControl("btnDelete").Visible = false;
lastRow.FindControl("lblComments").Visible = false;
lastRow.Height = 35;
lastRow.Font.Size = 11;
lastRow.Font.Bold = true;
}
}
页面索引:
protected void gvDetails_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gvDetails.PageIndex = e.NewPageIndex;
BindGrid();
if (gvDetails.PageIndex == 0)
{
var lastRow = gvODetails.Rows[0];
lastRow.FindControl("btnEdit").Visible = false;
lastRow.FindControl("btnDelete").Visible = false;
lastRow.FindControl("lblComments").Visible = false;
lastRow.Height = 35;
lastRow.Font.Size = 11;
lastRow.Font.Bold = true;
}
}
public void LoadData()
{
DataTable dtDetails = DetailsDataRepository.GetDetails();
BindDetailsGrid(dtDetails);
DataTable dt = DetailsDataRepository.GetSum();
DataRow dr = dtDetails.NewRow();
dr["Total_Amount"] = Convert.ToDecimal(dt.Rows[0]["Total_Amount"].ToString().Substring(1)).ToString("C0");
dr["Monthly_Amount"] = Convert.ToDecimal(dt.Rows[0]["Monthly_Amount"].ToString().Substring(1)).ToString("C0");
dtDetails.Rows.InsertAt(dr, 0);
gvDetails.DataSource = dtDetails;
gvDetails.DataBind();
if (gvDetails.PageIndex == 0)
{
var lastRow = gvDetails.Rows[0];
lastRow.FindControl("btnEdit").Visible = false;
lastRow.FindControl("btnDelete").Visible = false;
lastRow.FindControl("lblComments").Visible = false;
lastRow.Height = 35;
lastRow.Font.Size = 11;
lastRow.Font.Bold = true;
lastRow.BackColor = System.Drawing.Color.LightGray;
}
}
protected void gvDetails_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gvDetails.PageIndex = e.NewPageIndex;
BindGrid();
if (gvDetails.PageIndex == 0)
{
var lastRow = gvDetails.Rows[0];
lastRow.FindControl("btnEdit").Visible = false;
lastRow.FindControl("btnDelete").Visible = false;
lastRow.FindControl("lblComments").Visible = false;
lastRow.Height = 35;
lastRow.Font.Size = 11;
lastRow.Font.Bold = true;
}
}
更新:
protected void gvDetails_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gvDetails.PageIndex = e.NewPageIndex;
BindGrid();
if (gvDetails.PageIndex == 0)
{
var lastRow = gvODetails.Rows[0];
lastRow.FindControl("btnEdit").Visible = false;
lastRow.FindControl("btnDelete").Visible = false;
lastRow.FindControl("lblComments").Visible = false;
lastRow.Height = 35;
lastRow.Font.Size = 11;
lastRow.Font.Bold = true;
}
}
public void LoadData()
{
DataTable dtDetails = DetailsDataRepository.GetDetails();
BindDetailsGrid(dtDetails);
DataTable dt = DetailsDataRepository.GetSum();
DataRow dr = dtDetails.NewRow();
dr["Total_Amount"] = Convert.ToDecimal(dt.Rows[0]["Total_Amount"].ToString().Substring(1)).ToString("C0");
dr["Monthly_Amount"] = Convert.ToDecimal(dt.Rows[0]["Monthly_Amount"].ToString().Substring(1)).ToString("C0");
dtDetails.Rows.InsertAt(dr, 0);
gvDetails.DataSource = dtDetails;
gvDetails.DataBind();
if (gvDetails.PageIndex == 0)
{
var lastRow = gvDetails.Rows[0];
lastRow.FindControl("btnEdit").Visible = false;
lastRow.FindControl("btnDelete").Visible = false;
lastRow.FindControl("lblComments").Visible = false;
lastRow.Height = 35;
lastRow.Font.Size = 11;
lastRow.Font.Bold = true;
lastRow.BackColor = System.Drawing.Color.LightGray;
}
}
protected void gvDetails_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gvDetails.PageIndex = e.NewPageIndex;
BindGrid();
if (gvDetails.PageIndex == 0)
{
var lastRow = gvDetails.Rows[0];
lastRow.FindControl("btnEdit").Visible = false;
lastRow.FindControl("btnDelete").Visible = false;
lastRow.FindControl("lblComments").Visible = false;
lastRow.Height = 35;
lastRow.Font.Size = 11;
lastRow.Font.Bold = true;
}
}
页面索引:
protected void gvDetails_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gvDetails.PageIndex = e.NewPageIndex;
BindGrid();
if (gvDetails.PageIndex == 0)
{
var lastRow = gvODetails.Rows[0];
lastRow.FindControl("btnEdit").Visible = false;
lastRow.FindControl("btnDelete").Visible = false;
lastRow.FindControl("lblComments").Visible = false;
lastRow.Height = 35;
lastRow.Font.Size = 11;
lastRow.Font.Bold = true;
}
}
public void LoadData()
{
DataTable dtDetails = DetailsDataRepository.GetDetails();
BindDetailsGrid(dtDetails);
DataTable dt = DetailsDataRepository.GetSum();
DataRow dr = dtDetails.NewRow();
dr["Total_Amount"] = Convert.ToDecimal(dt.Rows[0]["Total_Amount"].ToString().Substring(1)).ToString("C0");
dr["Monthly_Amount"] = Convert.ToDecimal(dt.Rows[0]["Monthly_Amount"].ToString().Substring(1)).ToString("C0");
dtDetails.Rows.InsertAt(dr, 0);
gvDetails.DataSource = dtDetails;
gvDetails.DataBind();
if (gvDetails.PageIndex == 0)
{
var lastRow = gvDetails.Rows[0];
lastRow.FindControl("btnEdit").Visible = false;
lastRow.FindControl("btnDelete").Visible = false;
lastRow.FindControl("lblComments").Visible = false;
lastRow.Height = 35;
lastRow.Font.Size = 11;
lastRow.Font.Bold = true;
lastRow.BackColor = System.Drawing.Color.LightGray;
}
}
protected void gvDetails_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gvDetails.PageIndex = e.NewPageIndex;
BindGrid();
if (gvDetails.PageIndex == 0)
{
var lastRow = gvDetails.Rows[0];
lastRow.FindControl("btnEdit").Visible = false;
lastRow.FindControl("btnDelete").Visible = false;
lastRow.FindControl("lblComments").Visible = false;
lastRow.Height = 35;
lastRow.Font.Size = 11;
lastRow.Font.Bold = true;
}
}
试试这个
if(gvOBMDetails.PageCount == 1)//Updated
{
var lastRow = gvOBMDetails.Rows[gvOBMDetails.Rows.Count - 1];
lastRow.FindControl("btnEdit").Visible = false;
lastRow.FindControl("btnDelete").Visible = false;
}
else if(gvOBMDetails.PageIndex == gvOBMDetails.PageCount -1)
{
var lastRow = gvOBMDetails.Rows[gvOBMDetails.Rows.Count - 1];
lastRow.FindControl("btnEdit").Visible = false;
lastRow.FindControl("btnDelete").Visible = false;
}
检查不同网格中的最后一行
gvOBMDetails.Rows[gvDetails.Rows.Count-1]
gvDetails.Rows.Count
将显示当前可见行数。这可以正常工作。我在另一个页面中有一个gridview,其中一列是一个链接按钮,因此当我单击任何值时,它将导航到此页面。现在我可以看到最后一行高亮显示,有什么解决方案吗?@Vicky在绑定gridview或在页面索引更改事件后立即添加上述代码。我已在页面预渲染事件中添加了上述代码。因此,单击其他页面中的gridview列将进入此页面。是否在page\u PreRender
事件中绑定数据?在页面加载事件中不绑定数据。