天天看点

第十六讲 GridView数据绑定控件(三)

主要内容

//公司记录部分

    1. 以后的开发当中尽量不要使用脚本弹出代码,原因是会影响数据的呈现效果,有时,会呈现的数据文字格式发现些微的变化,影响美观!

    2. 替换上面所说的脚本弹出代码的是,C#提供的一个方法:

    this.Page.ClientScript.RegisterStarupScript(this.GetType(),Guid.NewGuid(),"");

        1. this.GetType()表示当前对象数据类型

        2. Guid.NewGuid()获取一个全球唯一标识符作为KEY

        3. ""这个字符串参数里就是脚本

    这个方法能够保证我们的页面的CSS效果不会因为弹出脚本而受到影响。

    3. 当删除一个条学生信息时,需要弹出一个确认删除对话,以避免用户的因误删除后悔莫及。

        1. 这个操作需要在GridView控件的RowDataBound事件处理。

        这个事件,就是GridView绑定一行,就触发一次,这里包含列头和列脚,所以在使用的时候要注意,过滤到列头列脚的事件触发动作。

        如:

        //删除确认对话框的实现

            (e.Row.FindControl("lkDel") as LinkButton).Attributes.Add("onclick","return confirm('您确认删除吗?')");

        2. 再人性化点的就是,提示预删除的行信息内容

        如:

        //刚做错了,这里需要先排除列头列脚,因为这个事件也同样会被列头列脚触发

            if (e.Row.RowType == DataControlRowType.DataRow)

            {

                //更加人性化一点,提供信息中加入预删除的内容

                string name = (e.Row.FindControl("lblName") as Label).Text;

                //删除确认对话框的实现

                (e.Row.FindControl("lkDel") as LinkButton).Attributes.Add("onclick","return confirm('您确认删除【"+name+"】吗?')");

            }

//家中记录部分

    1. 添加开删除事件处理

        也是通过GridView控件的子控件获取学号进行处理删除的处理

    2. 由于response.write()形式的弹出脚本,可能会影响GridView控件呈现数据的字体现象,影响数据显示的呈现,建议使用C#的控件脚本注册方法:

    如:(e.Row.FindControl("lbDel") as LinkButton).Attributes.Add("onclick", "return confirm('您确认要删除吗?')");

    3. 为了更好的人性化,可以在提示信息中加载要删除的信息内容信息,让用户确认是否删除有误。

        同样中获取要删除的行中的控件内容

        但是这里有个问题出现了,当点击编辑按钮时会报错。

    4. 需要注意的是GridView控件是不支持插入数据行的功能的。

    5. GridView的光棒效果

        光棒效果即:当鼠标移动到GridView中的某一行时,行的背景色显示一种效果,当鼠标离开时,效果变化或恢复到原的样子。

        这个效果需要被应用到GridView中每一行中,所以这段码还是要写在RowDataBound事件中。同样也是作用于,GridView中的数据行上,也即是也同样需要过滤到列头列脚的。

        如:if (e.Row.RowType == DataControlRowType.DataRow){}

        同2项中所记录一样,2中是对一个子控件的属性注册一个JS脚本,这里是需要对GridView的数据行的属性注册一个JS脚本,KEY就是行的事件,这里就是mouseover 和 mouseout

        如:

        //GridView中的数据行的光棒效果

        e.Row.Attributes.Add("onmouseover", "w=this.style.backgroundColor; this.style.backgroundColor='yellow'");//鼠标滑过时

        e.Row.Attributes.Add("onmouseout","this.style.backgroundColor=w");//鼠标滑出时恢复原来的背景

    6. GridView控件的分页功能

        使用的是GridView控件的一个属性:AllowPageing打开GridView的分页功能,PageSize是一页显示的数据条数,

        不过,在实际的开发当中,却是很少人使用

        当点击下一页时,需要处理GridView控件的PageIndexChanging事件,这里使用GridView控件的PageIndex属性,获取用户点击的页的索引,这个索引号是由事件参数对象携带的,e.NewPageIndex

        如:this.GridView1.PageIndex=e.NewPageIndex

        注意,别忘了再次加载一次数据。

    7. GridView控件,虽说功能强大,但是由于它是自动生成的代码,有很多的冗余代码在里,只适合一些小型的网站,或WinForm应用程序,对于大型的应用程序或网站是不推荐使用GridView的。