GridView 控件详细介绍

显示表格数据是软件开发中的一个周期性任务。ASP.NET 提供了许多工具来在网格中显示表格数据,例如 GridView 控件。通过使用 GridView 控件,您可以显示、编辑和删除多种不同的数据源(例如数据库、XML 文件和公开数据的业务对象)中的数据。


1. GridView数据绑定基础

    GridView大部份场合下都是用来绑定数据源,进行数据的显示。一般情况下,可以绑定到SqlDataSource控件,DataTable对象,DataView对象..也可以绑定到列表对象。
   GrdiView提供了两种数据方式的绑定:DataSourceID与DataSource
     ● 使用 DataSourceID 属性进行数据绑定,此选项使您能够将 GridView 控件绑定到数据源控件。使用 DataSourceID 属性绑定到数据源时,GridView 控件支持双向数据绑定。除可以使该控件显示返回的数据之外,还可以使它自动支持对绑定数据的更新和删除操作。
     ● 使用 DataSource 属性进行数据绑定,此选项使您能够绑定到包括 ADO.NET 数据集和数据读取器在内的各种对象。此方法需要为所有附加功能(如排序、分页和更新)编写代码。
   GridView会自动为一个布尔类型字段呈现复选框。
例1:GridView绑定到一个List对象中


GridView绑定到List对象
<script runat=”server”>
public class CartItem{
    private int _id;
    public string _description;

    public int Id{
        get { return _id; }
    }
    public string Description{
        get { return _description; }
    }
    public CartItem(int id,string description){
        _id = id;
        _description = description;
    }
}

public partial class employeeManage_schoolyardPlay : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if(!IsPostBack){
            List<CartItem> shoppingCart = new List<CartItem>();
            shoppingCart.Add(new CartItem(1, "notebook Computer"));
            shoppingCart.Add(new CartItem(2, "HD Plasma Televsion"));
            shoppingCart.Add(new CartItem(3, "Lava Lamp"));
            GridView2.DataSource = shoppingCart;
            GridView2.DataBind();
        }
}
</script>

<asp:GridView ID="GridView2" runat="server" AllowPaging="True"
            AutoGenerateColumns="False" PageIndex="2">
     <Columns>
            <asp:BoundField DataField="Id" HeaderText="编号 " />
            <asp:BoundField DataField="Description" HeaderText="描述" />
     </Columns>
</asp:GridView>
 
2. 获取GridView被选中行的信息。

    2.1 GridView有两个属性:一个叫AutoGenerateSelectButton,一个叫DataKeyNames。
          AutoGenerateSelectButton设置为true时,GridView就会出现一个选择键。而DataKeyNames则表示获取或设置一个数组,该数组包含了显示在 GridView 控件中的项的主键字段的名称。当用户点击选择时,就可以取出主键字段的值。取GridView选中的值是通过GridView的SelectedValue属性来实现的。
例2:点击选择获得主键的值

点击选择获得主键的值
<script runat=”server”>
protected void GridView2_SelectedIndexChanged(object sender, EventArgs e)
{
    Label1.Text = GridView2.SelectedValue.ToString();
}
</script>
<asp:GridView ID="GridView2" runat="server" AllowPaging="True"
            AutoGenerateColumns="False"  
            onselectedindexchanged="GridView2_SelectedIndexChanged"
            AutoGenerateSelectButton=true  DataKeyNames="Id">  <!-- 设置DataKeyName为Id字段 -->
            <Columns>
                <asp:BoundField DataField="Id" HeaderText="编号 " />
                <asp:BoundField DataField="Description" HeaderText="描述" />
            </Columns>
</asp:GridView> 

    当然,如果以上设置DataKeyName为Description,则点击选择后Label显示的为选择行的Description值。
例3:一个主从GridView例子

主从GridView
<!-- 主GridView,选择一行后,在另一个GridView中显示详细表格 -->
<asp:GridView id=”grdMovieCategories” DataKeyNames=”Id”
         DataSourceID=”srcMovieCategories” AutoGenerateSelectButton=”true” SelectedRowStyle-CssClass=”selectedRow”
         CssClass=”gridView”  Runat=”server” />
<!-- 主GridView的DataSource -->
<asp:SqlDataSource id=”srcMovieCategories” ConnectionString=”<%$ ConnectionStrings:Movies %>”
         SelectCommand=”SELECT Id, Name FROM MovieCategories” Runat=”server” />


<!-- 细表GridView,根据grdMoveCategories表

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值