簡體   English   中英

隱藏GridView中最后一行的按鈕

[英]Hide buttons for last row in gridview

我正在使用下面的代碼隱藏/編輯和刪除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;
 } 

有什么建議可以解決這個問題?

我也使用下面的這種方法來綁定網格並添加一個新的數據行,該行具有列數之和。 現在如何將這個數據行添加為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;
  }
}

嘗試這個

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;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM