zoukankan      html  css  js  c++  java
  • gridview分頁:第一頁 下一頁 1 2 3 4 上一頁 最末頁

    效果圖:

    功能簡介:可使用上下鍵選中行,選中後點擊修改,textbox獲得gridview中的代碼的數據。對你有幫助的話,請記得要點擊“好文要頂”哦!!!不懂的,請留言。廢話不多說了,貼碼如下:

    View Code
    <head runat="server">
    <title>GridView分頁</title>
    <script type="text/javascript">
    var currentRowId = 0;
    var styleName = "";
    function SelectRow(ev, strGvName) {
    var e = window.event || ev;
    var keyCode = -1;
    if (e.which == null)
    keyCode = e.keyCode; // IE
    else
    if (e.which > 0)
    keyCode = e.which; // All others
    if (keyCode == 40)
    MarkRow(currentRowId + 1, strGvName);
    if (keyCode == 38) {
    MarkRow(currentRowId - 1, strGvName);
    }

    document.getElementById("NUM").value = currentRowId;
    }
    function MarkRow(rowId, strGvName) {
    var Grid = document.getElementById(strGvName);
    var rowCount = Grid.rows.length;
    if (document.getElementById(strGvName + rowId) == null)
    return;
    if (rowId == rowCount) {
    return;
    }
    if (document.getElementById(strGvName + currentRowId) != null)
    document.getElementById(strGvName + currentRowId).style.backgroundColor = styleName;
    currentRowId = rowId;
    styleName = document.getElementById(strGvName + rowId).style.backgroundColor;
    document.getElementById(strGvName + rowId).style.backgroundColor = 'red';
    var obj = document.getElementById(strGvName);
    obj.rows[rowId].cells[0].focus();
    document.getElementById("NUM").value = currentRowId;

    }
    </script>

    <style type="text/css">
    .hidden
    {
    display: none;
    }
    </style>
    </head>
    View Code
    <form id="form1" runat="server">
    <div>
    <br />
    <asp:Button ID="btnUpd" runat="server" TabIndex="3" Text="修改" Width="59px" Font-Size="14px" OnClick="btnUpd_Click" />
    <asp:TextBox ID="NUM" runat="server" CssClass="hidden"></asp:TextBox>
    <asp:TextBox ID="tbValue" runat="server"></asp:TextBox>
    <asp:GridView ID="gvData" runat="server" AutoGenerateColumns="false" Width="100%"
    AllowPaging="true" PageIndex="0" PageSize="15" OnPageIndexChanging="gvData_PageIndexChanging"
    OnRowCreated="gvData_RowCreated" OnRowDataBound="gvData_RowDataBound">
    <PagerSettings FirstPageText="首頁" NextPageText="下一頁" PreviousPageText="上一頁" LastPageText="末頁"
    Mode="NumericFirstLast" />
    <Columns>
    <asp:CommandField ShowSelectButton="True" Visible="False" />
    <asp:BoundField DataField="STOCK_NO" HeaderText="代號" />
    <asp:BoundField DataField="STOCK_NAME" HeaderText="字段二" />
    <asp:BoundField DataField="FACT_NO" HeaderText="字段三" />
    <asp:BoundField DataField="ADDRESS" HeaderText="字段四" />
    <asp:BoundField DataField="MEMO_DESC" HeaderText="字段五" />
    <asp:BoundField DataField="CARRYDOWN_YM" HeaderText="字段六" />
    <asp:BoundField DataField="CLOSEDOWN_YM" HeaderText="字段七" />
    <asp:BoundField DataField="CUST_FLAG" HeaderText="字段八" />
    </Columns>
    <PagerStyle HorizontalAlign="Left" />
    <AlternatingRowStyle BackColor="LightBlue" Wrap="true" />
    </asp:GridView>
    </div>
    </form>
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data.SqlClient;//請添加以下命名空間
    using System.Data;
    using System.Drawing;

    public partial class _Default : System.Web.UI.Page
    {
    SqlConnection con = new SqlConnection("Server=SERVER\\xxx;Database=xxxx;User ID=xx;Pwd=xx;");
    private int _i = 0;//定義變量 ,查詢 Grid設定樣式有用到
    protected void Page_Load(object sender, EventArgs e)
    {
    if (!Page.IsPostBack)
    {
    getBind();
    }
    }
    protected void getBind()
    {
    string str = "select * from im01";
    DataSet ds = new DataSet();
    SqlDataAdapter da = new SqlDataAdapter(str, con);
    da.Fill(ds);
    DataTable dt = ds.Tables[0];
    gvData.DataSource = dt;
    gvData.DataBind();
    }
    protected void gvData_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {

    }
    protected void gvData_RowCreated(object sender, GridViewRowEventArgs e)
    {
    if (e.Row.RowType == DataControlRowType.Pager)
    {
    Label label_Index = new Label();
    LinkButton Button_IndexFirst = new LinkButton();
    LinkButton Button_IndexLast = new LinkButton();
    LinkButton Button_IndexNext = new LinkButton();
    LinkButton Button_IndexPrevious = new LinkButton();

    Button_IndexFirst.Text = "第一頁 ";
    Button_IndexFirst.CommandName = "first";
    Button_IndexFirst.ForeColor = Color.Blue;
    Button_IndexFirst.Click += new EventHandler(PageButtonClick);

    Button_IndexNext.Text = " 下一頁 ";
    Button_IndexNext.CommandName = "next";
    Button_IndexNext.ForeColor = Color.Blue;

    Button_IndexNext.Click += new EventHandler(PageButtonClick);

    Button_IndexPrevious.Text = "前一頁 ";
    Button_IndexPrevious.CommandName = "previous";
    Button_IndexPrevious.ForeColor = Color.Blue;
    Button_IndexPrevious.Click += new EventHandler(PageButtonClick);

    Button_IndexLast.Text = "最末頁 ";
    Button_IndexLast.CommandName = "last";
    Button_IndexLast.ForeColor = Color.Blue;
    Button_IndexLast.Click += new EventHandler(PageButtonClick);

    e.Row.Controls[0].Controls[0].Controls[0].Controls[0].Controls.AddAt(0, (Button_IndexFirst));
    e.Row.Controls[0].Controls[0].Controls[0].Controls[0].Controls.AddAt(1, (Button_IndexPrevious));

    int controlTmp = e.Row.Controls[0].Controls[0].Controls[0].Controls.Count - 1;
    e.Row.Controls[0].Controls[0].Controls[0].Controls[controlTmp].Controls.Add(Button_IndexNext);
    e.Row.Controls[0].Controls[0].Controls[0].Controls[controlTmp].Controls.Add(Button_IndexLast);
    }
    }
    protected void gvData_RowDataBound(object sender, GridViewRowEventArgs e)
    {
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
    //设置悬浮鼠标指针形状为"小手"
    e.Row.Attributes["style"] = "Cursor:hand";
    }
    string strGvName = "gvData";
    e.Row.Attributes.Add("id", strGvName + _i.ToString());
    e.Row.Attributes.Add("onKeyDown", "SelectRow(event,'" + strGvName + "');");
    e.Row.Attributes.Add("onClick", "MarkRow(" + _i.ToString() + ",'" + strGvName + "');");
    e.Row.Attributes.Add("tabindex", "0");
    _i++;
    }
    protected void PageButtonClick(object sender, EventArgs e)
    {
    LinkButton clickedButton = ((LinkButton)sender);
    if (clickedButton.CommandName == "first")
    {
    gvData.PageIndex = 0;
    }
    else if (clickedButton.CommandName == "next")
    {
    if (gvData.PageIndex < gvData.PageCount - 1)
    {
    gvData.PageIndex += 1;
    }
    }
    else if (clickedButton.CommandName == "previous")
    {
    if (gvData.PageIndex >= 1)
    {
    gvData.PageIndex -= 1;
    }
    }
    else if (clickedButton.CommandName == "last")
    {
    gvData.PageIndex = gvData.PageCount - 1;
    }
    getBind();
    }
    //修改
    protected void btnUpd_Click(object sender, EventArgs e)
    {
    int intNum = 0;
    if (this.NUM.Text == "" || this.NUM.Text == "0")
    {
    Response.Write("<script type=\"text/javascript\">alert('請先查詢並選擇一筆資料!')</script>");
    return;
    }
    else
    {
    intNum = Convert.ToInt16(this.NUM.Text) - 1;
    tbValue.Text = this.gvData.Rows[intNum].Cells[1].Text.ToString();
    }
    }
    }





    欢迎访问草根帮【https://www.caogenbang.top】 草根帮带你走向人生巅峰,迎娶白富美!!!
  • 相关阅读:
    MySQL协议分析(2)
    MySQL协议分析(1)
    《汇编语言》知识重点总结
    opencv学习(1.2)
    CentOS 6下OpenCV的安装与配置
    python2与python3之间的主要区别
    python-PEP8编码规范
    解决windows 10无法打开.hlp帮助文件的问题
    将windows server 2016改造为像windows 10一样适合个人使用的系统
    系统分析师成长之路
  • 原文地址:https://www.cnblogs.com/koeltp/p/2361143.html
Copyright © 2011-2022 走看看