asp.net代码练习 work030 GridView控件使用1

258 篇文章 2 订阅

webform1.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="work030.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" OnPageIndexChanging="GridView1_PageIndexChanging" Width="100%">
            <Columns>
                <asp:BoundField DataField="user_id" HeaderText="user_id"></asp:BoundField>
                <asp:BoundField DataField="user_name" HeaderText="user_name"></asp:BoundField>
                <asp:BoundField DataField="real_name" HeaderText="real_name"></asp:BoundField>
                <asp:BoundField DataField="age" HeaderText="age"></asp:BoundField>
                <asp:CheckBoxField DataField="sex" HeaderText="sex"></asp:CheckBoxField>
                <asp:BoundField DataField="mobile" HeaderText="mobile"></asp:BoundField>
                <asp:TemplateField HeaderText="Email">
                    <AlternatingItemTemplate>
                        <a href='emailto:<%# Eval("email") %>'>发邮件给<%# Eval("real_name") %></a>
                    </AlternatingItemTemplate>
                    <ItemTemplate>
                        <%# Eval("email") %>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:HyperLinkField DataNavigateUrlFields="user_id" DataNavigateUrlFormatString="Details.aspx?id={0}" DataTextField="real_name" HeaderText="查看"></asp:HyperLinkField>
            </Columns>
            <EmptyDataTemplate>
                提示:没有任何数据可以显示
            </EmptyDataTemplate>
        </asp:GridView>
    </div>
    </form>
</body>
</html>

webform1.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace work030
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                BindGridView(0);
            }
        }

        protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            BindGridView(e.NewPageIndex);
        }

        private void BindGridView(int pageIndex)
        {
            System.Data.SqlClient.SqlConnectionStringBuilder bu = new System.Data.SqlClient.SqlConnectionStringBuilder();
            bu.DataSource = "(local)";
            bu.InitialCatalog = "test";
            bu.UserID = "sa";
            bu.Password = "123456";

            string conString = bu.ConnectionString;
            System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection(conString);
            con.Open();

            string sql = "select * from userinfo";
            //string sql = "select * from userinfo where user_id > 1000";  //使用此句,是为了配合显示EmptyDataTemplate
            System.Data.SqlClient.SqlDataAdapter adapter = new System.Data.SqlClient.SqlDataAdapter(sql, con);
            System.Data.DataTable dt = new System.Data.DataTable();
            adapter.Fill(dt);

            GridView1.AllowPaging = true;
            GridView1.AutoGenerateColumns = false;
            GridView1.PageSize = 4;

            GridView1.DataSource = dt;
            GridView1.PageIndex = pageIndex;
            GridView1.DataBind();
        }


    }
}

details.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Details.aspx.cs" Inherits="work030.Details" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <table border="1" style="width:50%;">
            <tr>
                <td>user_id</td>
                <td><%= dt.Rows[0]["user_id"].ToString() %></td>
            </tr>
            <tr>
                <td>user_name</td>
                <td><%= dt.Rows[0]["user_name"].ToString() %></td>
            </tr>
            <tr>
                <td>real_name</td>
                <td><%= dt.Rows[0]["real_name"].ToString() %></td>
            </tr>
            <tr>
                <td>age</td>
                <td><%= dt.Rows[0]["age"].ToString() %></td>
            </tr>
            <tr>
                <td>sex</td>
                <td><%= dt.Rows[0]["sex"].ToString() %></td>
            </tr>
            <tr>
                <td>mobile</td>
                <td><%= dt.Rows[0]["mobile"].ToString() %></td>
            </tr>
            <tr>
                <td>phone</td>
                <td><%= dt.Rows[0]["phone"].ToString() %></td>
            </tr>
            <tr>
                <td>email</td>
                <td><%= dt.Rows[0]["email"].ToString() %></td>
            </tr>
        </table>
    </div>
    </form>
</body>
</html>

details.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace work030
{
    public partial class Details : System.Web.UI.Page
    {
        protected System.Data.DataTable dt;

        protected void Page_Load(object sender, EventArgs e)
        {
            if(Request.QueryString["id"] != null)
            {
                string user_id = Request.QueryString["id"].ToString();
                dt = new System.Data.DataTable();
                dt = GetData(user_id);
                
            }
            
        }

        private System.Data.DataTable GetData(string id)
        {
            System.Data.SqlClient.SqlConnectionStringBuilder bu = new System.Data.SqlClient.SqlConnectionStringBuilder();
            bu.DataSource = "(local)";
            bu.InitialCatalog = "test";
            bu.UserID = "sa";
            bu.Password = "123456";

            string conString = bu.ConnectionString;
            System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection(conString);
            
            string sql = string.Format("select * from userinfo where user_id='{0}'",id);
            System.Data.SqlClient.SqlDataAdapter adapter = new System.Data.SqlClient.SqlDataAdapter(sql, con);

            System.Data.DataTable dt = new System.Data.DataTable();
            adapter.Fill(dt);

            return dt;
        }
    }
}

sql

create database test;

create table UserInfo(
	user_id int identity(1,1) not null,
	user_name varchar(20) not null unique,
	real_name nvarchar(8) not null,
	age tinyint not null,
	sex bit not null,
	mobile varchar(14),
	phone varchar(14),
	email varchar(50) not null,
	primary key(user_id) 
);

insert into UserInfo values('zhangfei','张飞',36,1,'13011110001','8845996','zf@qq.com');
insert into UserInfo values('guanyu','关羽',38,1,'13011110002','8845995','gy@qq.com');
insert into UserInfo values('liubei','刘备',42,1,'13011110003','8845994','lb@qq.com');
insert into UserInfo values('zhaoyun','赵云',32,1,'13011110004','8845993','zy@qq.com');
insert into UserInfo values('huangzhong','黄忠',50,1,'13011110005','8845992','hz@qq.com');
insert into UserInfo values('caocao','曹操',48,1,'13011110006','8845991','cc@qq.com');
insert into UserInfo values('sunquan','孙权',33,1,'13011110007','8845990','sq@qq.com');
insert into UserInfo values('diaochan','貂蝉',20,0,'13011110008','8845880','dc@qq.com');
insert into UserInfo values('daqiao','大乔',21,0,'13011110009','8845881','dq@qq.com');
insert into UserInfo values('xiaoqiao','小乔',20,0,'13011110010','8845882','xq@qq.com');

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虾米大王

有你的支持,我会更有动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值