GridView:两种数据绑定方法
 方法一:得到数据后,赋给DataSource属性,然后执行控件的DataBind()方法。

BLL.Article bll = new BLL.Article();
List<MODEL.Article> list = bll.GetArticle();
GridView1.DataSource = list;
GridView1.DataBind();

 方法二:使用数据源控件,赋给数据绑定控件的DataSourceId。
 DataSource属性和DataSourceId不能同时使用。如果先用数据源控件获得数据并绑定显示,在程序中又需要改用手动绑定的方法显示数据,要先给DataSourceId赋null。
 列设置中可选字段的用法:
 BoundField:显示要绑定的数据
 CheckBoxField:以CheckBox显示,一般与数据库中bit类型绑定
 HyperLinkField:以超链接形式显示,一般链接地址与绑定数据有关系
 ImageField:以图片形式显示,一般图片地址与绑定数据有关系
 ButtonField:以按钮形式显示
 CommandField:包含能够触发增删改事件的按钮,其实就是一个普通按钮,不同的是CommandName的设置。
 在GridView控件中,一个按钮的CommandName属性为edit,cancel,update,delete时,则会自动触发GridView的编辑,取消,更新,删除功能,须实现方法,然后重新绑定数据。Page_Loda事件中要进行IsPostBack判断。
 EditIndex 属性:指用户正在编辑的行,如果没有编辑任何行,设置为-1。AllowPaging属性:是否自动分页。AutoGenerateColumns属性:是否自动生成列。PageIndex属性:当前页。PageSize属性:页大小。Rows属性:所显示数据行的集合

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Bind();
        }
    }
    private void Bind()
    {
        BLL.Article bll = new BLL.Article();
        List<MODEL.Article> list = bll.GetArticle();
        GridView1.DataSource = list;
        GridView1.DataBind();
    }
    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "a")
        {
            Response.Write("按钮1");
        }
        else if (e.CommandName == "b")
        {
            Response.Write("按钮2");
        }
    }
    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView1.EditIndex = e.NewEditIndex;
        Bind();
    }
    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        GridView1.EditIndex = -;
        Bind();
    }

 在GridView中获取用BoundFiled绑定的内容:GridView1.Rows[i].Cells[i].Text;处于编辑状态时获取用户输入的文本框中的值:(TextBox)GridView1.Rows[i].Cells[i].Controls[0].Text;如果用BoundFiled绑定的列被隐藏掉,那么隐藏的值无法获取到。用FindControl获取模版列中的值。

     //获取BoundFiled绑定字段的值
        Label2.Text = GridView1.Rows[].Cells[].Text;
        //获取编辑状态下字段的值
        CheckBox cb = (CheckBox)GridView1.Rows[].Cells[].Controls[];
        Label2.Text = cb.Checked.ToString();
        //获取模板项中的值
        Label2.Text = ((Label)GridView1.Rows[].Cells[].FindControl("Label1")).Text;
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        //获得修改后的值
        ].Controls[]).Text;
        ].Controls[]).Checked;
        //获得主键
        ].FindControl("Label1")).Text;
        //根据主键获得实体类模型
        MODEL.Article model = new BLL.Article().GetSingleArticle(Aid);
        model.Aisdel = IsDel;
        model.Atitle = Atitle;//修改属性
        )//如果编辑更新数据库成功
        {
            GridView1.EditIndex = -;//取消编辑状态
            Bind();//重新绑定数据
        }
    }
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        ].FindControl("Label1")).Text;
        new BLL.Article().Del(Aid);
        Bind();
    }

.net之GridView、DataList、DetailsView(一)的更多相关文章

  1. gridview和detailsview的完美结合运用实现增删改

    原文发布时间为:2008-07-24 -- 来源于本人的百度文章 [由搬家工具导入] 1、因Gridview中没有增加记录,所以应利用datalistview或formview来弥补。 2、因为det ...

  2. .net之GridView、DataList、DetailsView(二)

    GridView自带分页功能,效率不高,适用于小数据量的显示. protected void GridView1_PageIndexChanging(object sender, GridViewPa ...

  3. 支持行单击、双击事件的GridView和DataList控件(译)

    支持行单击.双击事件的GridView和DataList控件(译)         让GridView 和 DataList 控件响应鼠标单击.双击事件.并且,使用 ClientScript.Regi ...

  4. Gridview、DataList、Repeater获取行索引号

    Gridview.DataList.Repeater如何获取行索引号?很多情况下都会用得到,下面贴出代码,注意行索引号是从0开始,不是从1开始,如果要从1开始,请在代码里面+1就行了. Gridvie ...

  5. ASP.NET--GridView配合DetailsView初使用

    1.GridView与DetailsView中的绑定模板不可以进行编辑的问题 方法:将要编辑的列转换为模板列---TemplateField <EditItemTemplate></ ...

  6. GridView控件

    GridView是ASP.NET 1.x的DataGrid控件的后继者.它提供了同样的基本功能集,同一时候添加�了大量扩展和改进.如前所述,DataGrid(ASP.NET 2.0仍然全然支持)是一个 ...

  7. Asp.net中GridView详解《转》

    ASP.NET服务器控件GridView 1         ASP.NET 服务器控件GridView使用 本教程不介绍服务器端控件的呈现,事件处理,状态等理论知识,只介绍服务器端控件的使用操作,如 ...

  8. asp.net中GridView传多个值到其它页面的方法

    网站开发中,在页面之间的跳转,经常会用到传值,其中可能会传递多个值. 一.CommadArgument传多个值到其他页面. 像Gridview dataList repeater等数据绑定控件中,可以 ...

  9. Repeater的分页

      Repeater控件是个好东西.轻量级.又好用.完全的自定义.但是,正是因为这些优点它没有自动分页的功能.这个需要研究一下.我看了一下起点等小说网站,那些什么推荐排名榜用Repeater控件那是很 ...

  10. ASP.NET 页生命周期

    ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤.这些步骤包括初始化.实例化控件.还原和维护状态.运行事件处理程序代码以及进行 呈现.了解页生命周期非常重要,因为这样 ...

随机推荐

  1. Python的工具包[0] -> numpy科学计算 -> numpy 库及使用总结

    NumPy 目录 关于 numpy numpy 库 numpy 基本操作 numpy 复制操作 numpy 计算 numpy 常用函数 1 关于numpy / About numpy NumPy系统是 ...

  2. 洛谷——P1706 全排列问题

    P1706 全排列问题 题目描述 输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 输入输出格式 输入格式: n(1≤n≤9) 输出格式: 由1-n组成 ...

  3. Codeforces E. Bash Plays with Functions(积性函数DP)

    链接 codeforces 题解 结论:\(f_0(n)=2^{n的质因子个数}\)= 根据性质可知\(f_0()\)是一个积性函数 对于\(f_{r+1}()\)化一下式子 对于 \[f_{r+1} ...

  4. 洛谷 P2183 [国家集训队]礼物

    题目描述 一年一度的圣诞节快要来到了.每年的圣诞节小E都会收到许多礼物,当然他也会送出许多礼物.不同的人物在小E心目中的重要性不同,在小E心中分量越重的人,收到的礼物会越多.小E从商店中购买了n件礼物 ...

  5. 解决虚拟机安装tomcat主机访问不到

    在wmware中安装linux后安装好数据库,JDK及tomcat后启动服务,虚拟机中可以访问,但是主机却无法访问,但是同时主机和虚拟机之间可以ping的通.解决方法是关闭虚拟机中的防火墙服务.桌面- ...

  6. java读取配置文件常用的四种方式

    配置文件 放置在src下面 obj.properties className=com.store.order.dao.impl.OrderDaoImpl 方式一 @Test public void t ...

  7. VUE -- 自定义控件(标签)

    首先我们在 src目录下新建一个目录 叫”component”,建一个mycomponent.vue文件,然后也让他打2句话吧 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 ...

  8. win10安装nodejs

    https://jingyan.baidu.com/article/b0b63dbfca599a4a483070a5.html 1 去官网下载对应版本的msi文件 2安装,path会自动设置 3 检验 ...

  9. linux内存查看方法

    cat /proc/meminfo 查看RAM使用情况,最简单的方法是通过/proc/meminfo.这个动态更新的虚拟文件实际上是许多其他内存相关工具(如:free / ps / top)等的组合显 ...

  10. Java源码阅读Vector

    1类签名与注释 public class Vector<E> extends AbstractList<E> implements List<E>, RandomA ...