GridView的 PreRender事件与范例--GridView + CheckBox,点选多列资料(复选删除)

以前有一个范例,相同的结果能够用两种做法来实践 web

[GridView] 资料系结表达式?或是RowDataBound事件来做?

 

我以为这种教学方法很不错,「同一个题目,有多种解法express

      (如同下面的李小龙图片所说的,"熟练度"很重要)ide

学生反应比较热烈,也能够挑本身惯用的、本身(目前程度)学得会的方式来处理post

想要当个职场成功者,李小龙的精神你该学学!http://buzzorange.com/vidaorange/2015/07/17/bruce-jun-fan-lee-quote/网站

(点选图片,可连到原文)ui

 

有位读者想要知道 控件的 PreRender事件spa

为何上网找「GridView合并域、合并相同记录」都是在 GridView的 PreRender事件完成呢?.net

 

咱们先作几个范例,而后再来看看MSDN网站的说明设计

先「作」再「学」,但愿让您比较好理解。orm

 

 

 

把之前的范例,改用 GridView  的 PreRender事件来作

[习题] FindControl 简单练习--GridView + CheckBox,点选多列数据(复选删除)#1 简单版

[习题] FindControl 简单练习--GridView + CheckBox,点选多列数据(复选删除) #2 - 分页&范例下载

 

原先的范例,在书本上集(ASP.NET专题实务(I) / 松岗出版)第十章就有解说

 

您先看一下 YouTube影片,大体了解咱们要作的内容:

YouTube影片教学  https://youtu.be/LnYXiyQghKs


 

Q:  在 GridView里面,每一列数据都加上 CheckBox,

     被勾选的那一列,就要删除之。 

 

把本来 RowDataBound事件改为 PreRender事件来作,有两大修改:

第一,RowDataBound事件里面,那一段 if (e.Row.RowType)判别式消失了

      因此必须本身写一段 for 循环

 

第二,使用到 e.Row......的地方,改为 GridView1.Rows[i]便可

 

    protected void GridView1_PreRender(object sender, EventArgs e)

    {
        if(Session["delete_ID"].ToString() != ......)
        {
            for (int i = 0; i < GridView1.Rows.Count; i++)
            {
                CheckBox myCheckbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
 
                Label myID = (Label)GridView1.Rows[i].FindControl("Label1");
                //.....后续省略.....直接套用之前范例便可
            }
 
        }
    }
 

=========================================================================

完成后,咱们来看 MSDN网站的说明 -- 控件的 PreRender事件

...... 在 Control 对象加载以后  但在呈现以前发生。

 

作过几个范例之后,对于原厂的说明,会不会比较「有感」?

      因此,要靠实做、范例来「体会」,必须本身练!本身动手!本身设计情境!

      不能只看书、看文字....... 这不是在应付学校的考试?不是 写考卷 的"是非题、选择题、申论题"

 

东西「写」不出来就惨了,

      老板跟客户不在意咱们学校成绩有多好,他要看见程序「正确运做」的结果

 

=========================================================================

若是一个答案,您有 "多种"解法能够处理

恭喜!出师了!

 

相似范例:

GridView的 PreRender事件与范例-- [Case Study]成绩低于60分就出现红字 & 分数加总(累加)

相关文章
相关标签/搜索