关闭

DataGrid中点击超级链接列后,如何控制弹出窗口????/(MENGZI)

1008人阅读 评论(0) 收藏 举报

aspx

------------------------------------------------------

<%@ Page language="c#" EnableViewState = "true" Src="~/default.aspx.cs"
 AutoEventWireup="false" Inherits="eMeng.Exam.DataGridPaging.DataGridPaging" %>
  <script   language="javascript">  
  var   eid;  
  function   openwins()  
  {  
  showModalDialog("addinsulator.aspx?id=0",window,'dialogWidth:560px;dialogHeight:300px;center:yes;help:no;resizable:no;status:no');  
  }  
  function   openwin(eid)  
  {  
  showModalDialog("addinsulator.aspx?id="+eid+"&temp="+Math.random(),window,'dialogWidth:560px;dialogHeight:300px;center:yes;help:no;resizable:no;status:no');  
  }  
  </script>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" runat="server">
<asp:datagrid id="MyDataGrid" runat="server" AutoGenerateColumns="False"
 HorizontalAlign="Center" AlternatingItemStyle-BackColor="#eeeeee"
 HeaderStyle-BackColor="#aaaadd" Font-Size="8pt" Font-Name="Verdana"
 CellSpacing="0" CellPadding="3" GridLines="Both" BorderWidth="1"
 BorderColor="black" OnPageIndexChanged="MyDataGrid_Page" PagerStyle-HorizontalAlign="Right"
 PagerStyle-Mode="NumericPages" PageSize="15" AllowPaging="True">
  <AlternatingItemStyle BackColor="#EEEEEE"></AlternatingItemStyle>
  <HeaderStyle BackColor="#AAAADD" Font-Bold="True" HorizontalAlign="Center"></HeaderStyle>
  <PagerStyle HorizontalAlign="Right" Mode="NumericPages"></PagerStyle>
  <Columns>
  <asp:BoundColumn HeaderText="產品編號" DataField="productid" HeaderStyle-Width="80px">
  </asp:BoundColumn>
  <asp:BoundColumn HeaderText="產品名稱" DataField="productname">
  </asp:BoundColumn>

  <asp:BoundColumn HeaderText="描述" DataField="intro">
  </asp:BoundColumn>
 
  <asp:hyperlinkcolumn   datanavigateurlfield="productprice" 
   datanavigateurlformatstring="javascript:openwin({0})" 
   datatextfield="productprice"   headertext="價格"></asp:hyperlinkcolumn>
 
  </Columns>
 
</asp:datagrid>
<p style="FONT-SIZE:9pt" align="center">
  <asp:label id="lblPageCount" runat="server"></asp:label>&nbsp;
  <asp:label id="lblCurrentIndex" runat="server"></asp:label>
  <asp:linkbutton id="btnFirst" onclick="PagerButtonClick" runat="server" Font-Name="verdana"
   Font-size="8pt" ForeColor="navy" CommandArgument="0"></asp:linkbutton>&nbsp;
  <asp:linkbutton id="btnPrev"  onclick="PagerButtonClick" runat="server" Font-Name="verdana"
   Font-size="8pt" ForeColor="navy" CommandArgument="prev"></asp:linkbutton>&nbsp;
  <asp:linkbutton id="btnNext" onclick="PagerButtonClick" runat="server" Font-Name="verdana"
   Font-size="8pt" ForeColor="navy" CommandArgument="next"></asp:linkbutton>&nbsp;
  <asp:linkbutton id="btnLast" onclick="PagerButtonClick" runat="server" Font-Name="verdana"
   Font-size="8pt" ForeColor="navy" CommandArgument="last"></asp:linkbutton>
</p>
</form>
</body>
</HTML>
----------------------------------------------------------------

aspx.cs

------------------------------------------------------

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
namespace eMeng.Exam.DataGridPaging
{
    /// <summary>
    /// DataGridPaging 的摘要说明。
    /// </summary>
    public class DataGridPaging : System.Web.UI.Page
    {
        protected System.Web.UI.WebControls.DataGrid MyDataGrid;
        protected System.Web.UI.WebControls.Label lblPageCount;
        protected System.Web.UI.WebControls.Label lblCurrentIndex;
        protected System.Web.UI.WebControls.LinkButton btnFirst;
        protected System.Web.UI.WebControls.LinkButton btnPrev;
        protected System.Web.UI.WebControls.LinkButton btnNext;
        protected System.Web.UI.WebControls.LinkButton btnLast;
        private SqlConnection cn = new SqlConnection();

        private void Page_Load(object sender, System.EventArgs e)
        {
            // 在此处放置用户代码以初始化页面
            btnFirst.Text = "最首页";
            btnPrev.Text = "前一页";
            btnNext.Text = "下一页";
            btnLast.Text = "最后页";
            OpenDatabase();
            BindGrid();
        }
        private void OpenDatabase()
        {
            cn.ConnectionString = "server=(local);database=eshop;user=jackey;pwd=chenzhao";
            cn.Open();
        }
        private void ShowStats()
        {
            lblCurrentIndex.Text = "第 " + (MyDataGrid.CurrentPageIndex + 1).ToString() + " 页";
            lblPageCount.Text = "总共 " + MyDataGrid.PageCount.ToString() + " 页";
        }

        public void PagerButtonClick(object sender, EventArgs e)
        {
            string arg = ((LinkButton)sender).CommandArgument.ToString();
            switch (arg)
            {
                case "next":
                    if (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1))
                    {
                        MyDataGrid.CurrentPageIndex += 1;
                    }
                    break;
                case "prev":
                    if (MyDataGrid.CurrentPageIndex > 0)
                    {
                        MyDataGrid.CurrentPageIndex -= 1;
                    }
                    break;
                case "last":
                    MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount - 1);
                    break;
                default:
                    MyDataGrid.CurrentPageIndex = System.Convert.ToInt32(arg);
                    break;
            }
            BindGrid();
            ShowStats();
        }
        public void BindGrid()
        {
         SqlConnection myConnection = cn;
            DataSet ds = new DataSet();
            SqlDataAdapter adapter = new SqlDataAdapter("select * from productinfo", myConnection);
            adapter.Fill(ds, "Document");
            MyDataGrid.DataSource = ds.Tables["Document"].DefaultView;
            MyDataGrid.DataBind();
            ShowStats();
        }
        public void MyDataGrid_Page(object sender, DataGridPageChangedEventArgs e)
        {
            int startIndex;
            startIndex = MyDataGrid.CurrentPageIndex * MyDataGrid.PageSize;
            MyDataGrid.CurrentPageIndex = e.NewPageIndex;
            BindGrid();
            ShowStats();
        }

        #region Web Form Designer generated code
        override protected void OnInit(EventArgs e)
        {
            //
            // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
            //
            InitializeComponent();
            base.OnInit(e);
        }

        /// <summary>
        /// 设计器支持所需的方法 - 不要使用代码编辑器修改
        /// 此方法的内容。
        /// </summary>
        private void InitializeComponent()
        {
            this.Load += new System.EventHandler(this.Page_Load);

        }
        #endregion
    }
}
 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:462019次
    • 积分:7599
    • 等级:
    • 排名:第2801名
    • 原创:299篇
    • 转载:33篇
    • 译文:0篇
    • 评论:95条