前言
接上文,【办公采购系统】系统中遇到的问题汇总(一),已经对一部分知识进行了总结,下面对剩下的问题分析。
Problems
3、GridView
可以说这个控件真是宝贝。非常以及及其的实用。
图 3-1 GridView
GridView控件也有绑定数据的功能,也可以分为三种,基本和上一篇博客中的DropDownList控件一样,这里就不做介绍了。
下面小编对他的一下更多的功能展示给大家。
这个基本就是GridView的界面,它有一个小三角,点开就可以看到他的很多的功能,一个一个给大家介绍。
图 3-2 GridView
第一个,自动套用格式
这个功能不用多说,一看便懂。
图 3-3 自动套用格式
第二个,选择数据源
这个功能基本同于前一篇博客的,【办公采购系统】系统中遇到的问题汇总(一),功能还是很好的,欢迎大家来访。
第三个,编辑列
清楚明白,就是编辑表格的列。
图 3-4 自动套用格式
从上一张图中看到了有这么多的可选字段,而且还是英语的,下面就为大家一次介绍。
图 3-5 自动套用格式
从上面的表格中可以清楚明白的了解各个字段的类型,也有各个的作用。一般从后台传来的泛型或者DateTable就可以用BoundField绑定,下面为大家展示:
图 3-6 设置字段标头文本
这里还是有一些要强调的,就是要去掉“自动生成字段”,如果不去掉就会形成下图的样式。
图 3-7 设置字段标头文本
第四个,GridView选中,编辑,取消,删除
在页面中拖入一个GridView控件;把鼠标移到此控件上,会看到在此控件的右上角有一个小三角,点击此三角,选择编辑列,在弹出的对话框中,找到CommandField,展开它,然后会看到要操作那一列,选择它并点添加,然后取消勾选自动生成字段;
图 3-8 选中,编辑,取消,删除
后台代码:
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;
namespace test
{
public partial class GridViewTest : System.Web.UI.Page
{
//建立数据连接字符串
SqlConnection cnn = new SqlConnection("server=.;uid=sa;pwd=123456;database=Login");
#region 页面加载
/// <summary>
/// 页面加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
GridView1.DataSource = bind();
GridView1.DataBind();
}
#endregion
#region 分页页面改变--重新绑定数据源
/// <summary>
/// 分页页面改变--重新绑定数据源
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
bind();
}
#endregion
#region 删除
/// <summary>
/// 删除
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string sqlstr = "delete from 表 where id='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";
SqlCommand sqlcom = new SqlCommand(sqlstr, cnn);
cnn.Open();
sqlcom.ExecuteNonQuery();
cnn.Close();
bind();
}
#endregion
#region 修改
/// <summary>
/// 修改
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
bind();
}
#endregion
#region 更新
/// <summary>
/// 更新
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string sqlstr = "update 表 set 字段1='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "',字段2='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "',字段3='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() + "' where id='"
+ GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";
SqlCommand sqlcom = new SqlCommand(sqlstr, cnn);
cnn.Open();
sqlcom.ExecuteNonQuery();
cnn.Close();
GridView1.EditIndex = -1;
bind();
}
#endregion
#region 绑定数据
/// <summary>
/// 绑定数据
/// </summary>
/// <returns></returns>
public DataSet bind()
{
string SQL = "select * from USERS";
SqlCommand cmd = new SqlCommand(SQL, cnn);
cnn.Open();
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(SQL, cnn);
da.Fill(ds);
cnn.Close();
return ds;
}
#endregion
}
}
前台代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GridViewTest.aspx.cs" Inherits="test.GridViewTest" %>
<!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" AllowPaging="True" AutoGenerateColumns="False" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="3" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating" OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
<Columns>
<asp:TemplateField HeaderText="ID">
<EditItemTemplate>
<asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("ID") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label4" runat="server" Text='<%# Bind("ID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="姓名">
<EditItemTemplate>
<asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("UserName") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("UserName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="密码">
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Password") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("Password") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="email">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Email") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("Email") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:CommandField CancelText="" EditText="" HeaderText="操作" InsertText="" NewText="" SelectText="" ShowDeleteButton="True" UpdateText="" />
<asp:CommandField CancelText="" DeleteText="" HeaderText="操作2" InsertText="" NewText="" SelectText="" ShowEditButton="True" UpdateText="" />
<asp:CommandField HeaderText="操作3" NewText="插入" ShowInsertButton="True" />
<asp:CommandField CancelText="" DeleteText="" EditText="" HeaderText="操作4" InsertText="" NewText="" ShowSelectButton="True" UpdateText="" />
</Columns>
<FooterStyle BackColor="White" ForeColor="#000066" />
<HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
<RowStyle ForeColor="#000066" />
<SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#F1F1F1" />
<SortedAscendingHeaderStyle BackColor="#007DBB" />
<SortedDescendingCellStyle BackColor="#CAC9C9" />
<SortedDescendingHeaderStyle BackColor="#00547E" />
</asp:GridView>
</div>
</form>
</body>
</html>
Summarize
Gridview控件真是很强大,他还有很多的功能,在学习过程中,我发现了一个博客: C#精髓 第四讲 GridView 72般绝技,这个真的好全,有72个功能!!搞起来吧!!希望对您有帮助!