asp.net GridView control use methods

  • 2020-06-03 06:18:59
  • OfStack

The front desk. aspx


<asp:Label ID="tplb" runat="server" Text=" Total number of pages: "></asp:Label> 
<asp:Label ID="lblPageCount" runat="server" Text=""></asp:Label> 
<asp:Label ID="curLabel" runat="server" Text=" The current page: "></asp:Label> 
<asp:Label ID="lblPage" Text="1" runat="server"></asp:Label>&nbsp;  
<asp:LinkButton ID="lblFirstButton" runat="server" OnClick="lblFirstButton_Click" >|&lt;</asp:LinkButton>&nbsp;  
<asp:LinkButton ID="lblPreButton" runat="server" OnClick="lblPreButton_Click" >&lt;</asp:LinkButton>&nbsp;  
<asp:LinkButton ID="lblNextButton" runat="server" OnClick="lblNextButton_Click" >&gt;</asp:LinkButton>&nbsp; 
<asp:LinkButton ID="lblLastButton" runat="server" OnClick="lblLastButton_Click" >&gt;|</asp:LinkButton>&nbsp;  
<asp:DropDownList ID="ddlPage" runat="server" Width="40px" AutoPostBack="True"  
      OnSelectedIndexChanged="ddlPage_SelectedIndexChanged">  
      <asp:ListItem>10</asp:ListItem>  
        <asp:ListItem>15</asp:ListItem>  
      <asp:ListItem>20</asp:ListItem>  
      <asp:ListItem>30</asp:ListItem>  
</asp:DropDownList>  
<asp:Label ID="PageSizeLabel" runat="server" Text=" article / page "></asp:Label>   

The background

#region paging 
protected void BindFollowExamInfoGridView(int PersonID) 
  { 
    int currentpage = Convert.ToInt32(lblPage.Text); 
    DataTable dt = new DataTable(); 
    dt = feibf.GetByPersonIDFollowExamInfo(PersonID);  // Query the follow-up information record of the specified person  
    if (dt.Rows.Count > 0) 
    { 
      FollowExamInfoGridView.DataSource = dt; 
      FollowExamInfoGridView.DataBind(); 
      PagedDataSource ps = new PagedDataSource(); 
      ps.DataSource = dt.DefaultView; 
      ps.AllowPaging = true; 
      ps.PageSize = Convert.ToInt32(ddlPage.SelectedValue); 
      lblPageCount.Text = ps.PageCount.ToString(); 
      this.lblPreButton.Enabled = true; 
      this.lblNextButton.Enabled = true; 
      ps.CurrentPageIndex = currentpage - 1; 
      if (currentpage == 1) 
      { 
        this.lblPreButton.Enabled = false; 
        this.lblFirstButton.Enabled = false; 
      } 
      else 
      { 
        this.lblPreButton.Enabled = true; 
        this.lblFirstButton.Enabled = true; 
      } 
      if (currentpage == ps.PageCount) 
      { 
        this.lblNextButton.Enabled = false; 
        this.lblLastButton.Enabled = false; 
      } 
      else 
      { 
        this.lblNextButton.Enabled = true; 
        this.lblLastButton.Enabled = true; 
      } 
      FollowExamInfoGridView.DataSource = ps; 
      FollowExamInfoGridView.DataBind(); 
    } 
     
  } 
  protected void lblPreButton_Click(object sender, EventArgs e) 
  { 
    this.lblPage.Text = Convert.ToString(Convert.ToUInt32(lblPage.Text) - 1); 
    BindFollowExamInfoGridView(Convert.ToInt32(Request.QueryString["PersonID"])); 
  } 
  protected void lblNextButton_Click(object sender, EventArgs e) 
  { 
    this.lblPage.Text = Convert.ToString(Convert.ToUInt32(lblPage.Text) + 1); 
    BindFollowExamInfoGridView(Convert.ToInt32(Request.QueryString["PersonID"])); 
  } 
  protected void lblFirstButton_Click(object sender, EventArgs e) 
  { 
    this.lblPage.Text = "1"; 
    BindFollowExamInfoGridView(Convert.ToInt32(Request.QueryString["PersonID"])); 
  } 
  protected void lblLastButton_Click(object sender, EventArgs e) 
  { 
    this.lblPage.Text = lblPageCount.Text; 
    BindFollowExamInfoGridView(Convert.ToInt32(Request.QueryString["PersonID"])); 
  } 
  protected void ddlPage_SelectedIndexChanged(object sender, EventArgs e) 
  { 
    lblPage.Text = "1"; 
    BindFollowExamInfoGridView(Convert.ToInt32(Request.QueryString["PersonID"])); 
  } 
#endregion  
 The sorting 
Allowsort = "true" 
sortExpression = "ID" 
DataView dv = SortBindGrid(dt); 
#region The sorting  
  protected void FollowExamInfoGridView_Sorting(object sender, GridViewSortEventArgs e) 
  { 
    ViewState["sortexpression"] = e.SortExpression; 
    if (ViewState["sortdirection"] == null) 
    { 
      ViewState["sortdirection"] = "asc"; 
    } 
    else 
    { 
      if (ViewState["sortdirection"].ToString() == "asc") 
      { 
        ViewState["sortdirection"] = "desc"; 
      } 
      else 
      { 
        ViewState["sortdirection"] = "asc"; 
      } 
    } 
    
    BindFollowExamInfoGridView(Convert.ToInt32(HiddenPersonID.Value)); 
  } 
  public DataView SortBindGrid(DataTable table) 
  { 
    if (table != null) 
    { 
      DataView dv = table.DefaultView; 
      if (ViewState["sortexpression"] != null && ViewState["sortdirection"] != null) 
      { 
        dv.Sort = ViewState["sortexpression"].ToString() + " " + ViewState["sortdirection"].ToString(); 
      } 
      return dv; 
    } 
    else 
    { 
      return null; 
    } 
  } 
  #endregion  
======= Own paging  
  #region Own paging  
protected void FollowExamInfoGridView_PageIndexChanging(object sender, GridViewPageEventArgs e) 
  { 
    FollowExamInfoGridView.PageIndex = e.NewPageIndex; 
    BindFollowExamInfoGridView(Convert.ToInt32(HiddenPersonID.Value)); 
  } 
#endregion 

Select the implementation of Grid View

  #region Implement the selected row  
   <SelectedRowStyle BackColor="AliceBlue" ForeColor="Gray" /> 
   <asp:CommandField ShowSelectButton="True"/> 
if (e.Row.RowType == DataControlRowType.DataRow) 
  { 
      e.Row.Attributes.Add("onclick", "this.cells[0].childNodes[0].click()"); 
} 
protected void GridViewRegiment_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    GridViewRow row = GridViewRegiment.SelectedRow; 
    int RegimentID = Convert.ToInt32(row.Cells[1].Text); 
    Response.Redirect("UpdateRegimentation.aspx?RegimentID=" + RegimentID); 
} 
#endregion 

Display color and delete

  protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
  { 
    //int i; 
    //for (i = 0; i < GridViewRegiment.Rows.Count; i++) 
    //{ 
      if (e.Row.RowType == DataControlRowType.DataRow) 
      { 
        // When there are edit columns, to avoid errors, to add RowState judge  
        if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate) 
        { 
          ((ImageButton)e.Row.Cells[2].FindControl("IBtndelete")).Attributes.Add("onclick", "javascript:return confirm(' You are sure to delete: "" + e.Row.Cells[0].Text + "" ? ?')"); 
        } 
        e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='#00A9FF'"); 
        e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='#E6F5FA'"); 
      } 
    //} 
}  

GridView empty processing
1 Display empty record without header, EmptyDataText=" No record"
2 Shows the empty record of the table header

DataTable dt = new DataTable(); 
  dt = feibf.GetByPersonIDFollowExamInfo(PersonID);  // Query the follow-up information record of the specified person  
    DataView dv = SortBindGrid(dt); 
    if (dt.Rows.Count > 0) 
    { 
      FollowExamInfoGridView.DataSource = dv; 
      FollowExamInfoGridView.DataBind(); 
    } 
    else 
    { 
      // Add a new row to show the table header  
      dt.Rows.Add(dt.NewRow()); 
      FollowExamInfoGridView.DataSource = dt; 
      FollowExamInfoGridView.DataBind(); 
      // Deal with the new line  
      int columnCount = FollowExamInfoGridView.Rows[0].Cells.Count; 
      // Clears all cells of the empty line  
      FollowExamInfoGridView.Rows[0].Cells.Clear(); 
      // Create a new cell object  
      FollowExamInfoGridView.Rows[0].Cells.Add(new TableCell()); 
      // Merged cell  
      FollowExamInfoGridView.Rows[0].Cells[0].ColumnSpan = columnCount; 
      // Set the cell prompt content  
      FollowExamInfoGridView.Rows[0].Cells[0].Style.Value = "text-align:center"; 
      FollowExamInfoGridView.Rows[0].Cells[0].Text = " No follow-up information was available "; 
    }  

The export GridView
EnableEventValidation="false"

#region export 
 public override void VerifyRenderingInServerForm(Control control) 
  { 
  } 
  protected void BtnPrint_Click(object sender, EventArgs e) 
  { 
    Response.Clear(); 
    Response.Buffer = true; 
    Response.Charset = "GB2312"; 
    Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls"); 
    //  If I set it to GetEncoding("GB2312"); The exported file will appear the garbled code!!  
    Response.ContentEncoding = System.Text.Encoding.UTF7; 
    Response.ContentType = "application/ms-excel";// Set the output file type to excel File.  
    System.IO.StringWriter oStringWriter = new System.IO.StringWriter(); 
    System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter); 
    this.AfficheGV.RenderControl(oHtmlTextWriter); 
    Response.Output.Write(oStringWriter.ToString()); 
    Response.Flush(); 
    Response.End(); 
  } 
#endregion  
  ToolTip GridView Display of detailed information  
 The front desk  
<script type="text/javascript" > 
  function Tooltip(cella,cellb) 
  { 
    document.getElementById("dc").innerText = " Details: "+cellb; 
    document.getElementById("id").innerText = "ID : "+cella; 
    x= event.clientX+document.body.scrollLeft; 
    y=event.clientY+document.body.scrollTop+20; 
    toolTipLayer.style.display="inline"; 
    toolTipLayer.style.left=x; 
    toolTipLayer.style.top=y; 
  } 
</script> 
<div id="toolTipLayer" style=" position:absolute; display:none; 
  background-color:Aqua; border-color:Blue; border-style:solid; 
   border-color:Blue; border-width:1px; " > 
  <table> 
  <tr><td>Affiche</td></tr> 
  <tr><td id ="dc"></td></tr> 
  <tr><td id ="id"> </td></tr> 
  </table> 
</div>  

The background

protected void AfficheGV_RowDataBound(object sender, GridViewRowEventArgs e) 
  { 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
      if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate) 
      { 
1 e.Row.Attributes.Add("onmouseover", "Tooltip('" +e.Row.Cells[0].Text.ToString()+ "','"+e.Row.Cells[1].Text.ToString()+"')"); 
2 e.Row.Attributes.Add("onmouseover","javascript:Tooltip('e.Row.Cells[0].Text');"); 
3 e.Row.Attributes.Add("onmouseover", "Tooltip('e.Row.Cells[0].Text')"); 
      } } 
}  
#region Built-in editor  
  protected void GVAffiche_RowEditing(object sender, GridViewEditEventArgs e) 
  { 
    GVAffiche.EditIndex = e.NewEditIndex; 
    BindGVAffiche(); 
  } 
  protected void GVAffiche_RowDeleting(object sender, GridViewDeleteEventArgs e) 
  { 
    GVAffiche.EditIndex = -1; 
    MyAffiche.DelAfficeBF( Convert.ToInt32(GVAffiche.DataKeys[e.RowIndex].Value.ToString())); 
    BindGVAffiche(); 
  } 
  protected void GVAffiche_RowUpdating(object sender, GridViewUpdateEventArgs e) 
  { 
    int id = Convert.ToInt32(((TextBox)(GVAffiche.Rows[e.RowIndex].Cells[0].Controls[0])).Text.ToString().Trim()); 
    string dc = ((TextBox)(GVAffiche.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim(); 
    MyAffiche.UpdateAfficheBf(id,dc); 
    GVAffiche.EditIndex = -1; 
    BindGVAffiche(); 
  } 
  protected void GVAffiche_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) 
  { 
    GVAffiche.EditIndex = -1; 
    BindGVAffiche(); 
  } 
#endregion  
#region Style control  
  protected void GVAffiche_RowDataBound(object sender, GridViewRowEventArgs e) 
  { 
    // First determine if it is a data row  
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
      // When there are edit columns, to avoid errors, to add RowState judge  
      if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate) 
      { 
        ((Button)e.Row.Cells[7].FindControl("btnDel")).Attributes.Add("onclick","javascript:return confirm(' You confirm deletion: "" + e.Row.Cells[1].Text + ""')"); 
        // Change the background color while hovering over the mouse  
        e.Row.Attributes.Add("onmouseover", "color=this.style.backgroundColor;this.style.backgroundColor='#00A9FF'"); 
        // Restores the background color when the mouse is moved  
        e.Row.Attributes.Add("onmouseout","this.style.backgroundColor=color"); 
        GVAffiche.Attributes.Add("style", "word-break:keep-all;word-wrap:normal"); 
        //GVAffiche.Attributes.Add("style", "word-break:break-all;word-wrap:break-word"); 
        if (e.Row.Cells[1].Text == "444") 
        { 
          e.Row.Cells[1].BackColor = System.Drawing.Color.Red; 
        } 
      } 
    } 
  } 
  #endregion  

Above is the GridView control 1 some basic use of daqo, hope to be useful to everyone.


Related articles: