Devexpress ASPxGridView事件调用顺序

来源:互联网 发布:图书信息管理系统c语言 编辑:程序博客网 时间:2024/05/17 06:56

页面上一个按钮,一个ASPxGridView,单击按钮给ASPxGridView数据绑定。

包含列:

<dx:GridViewCommandColumn VisibleIndex="3" Width="50px" Caption="列1">                                                <EditButton Visible="True" Text="录入" />                                            </dx:GridViewCommandColumn>                                           <dx:GridViewDataButtonEditColumn Caption="列2">                                               <PropertiesButtonEdit>                                                   <Buttons>                                                       <dx:EditButton >                                                       </dx:EditButton>                                                   </Buttons>                                               </PropertiesButtonEdit>                                               <DataItemTemplate>                                                   <dx:ASPxButton ID="ASPxButton1" runat="server" Text="ASPxButton" OnClick="btnQuery_Click"></dx:ASPxButton>                                               </DataItemTemplate>                                           </dx:GridViewDataButtonEditColumn>                                            <dx:GridViewCommandColumn VisibleIndex="5" Width="80px" Caption="列3">                                                <CustomButtons>                                                    <dx:GridViewCommandColumnCustomButton  ID="GridViewCommandColumnCustomButton1" Text="导出">                                                                                                            </dx:GridViewCommandColumnCustomButton>                                                </CustomButtons>                                            </dx:GridViewCommandColumn>                                        </Columns>


 

事件调用顺序:

Page_Load

HtmlRowCreated:

这个时候并没有调用DataBind。就执行一次,其中参数e处理的是空行,即

+  e.Row {DevExpress.Web.ASPxGridView.Rendering.GridViewTableEmptyDataRow} System.Web.UI.WebControls.TableRow {DevExpress.Web.ASPxGridView.Rendering.GridViewTableEmptyDataRow}

此时页面显示,然后点击按钮。

DataBinding

HtmlRowCreated

Page_Load

Click:在click事件中调用了DataBind方法

DataBinding:此时有一行数据,注意这个数值会影响到很多事件执行次数

CommandButtonInitialize:处理列1(GridViewCommandColumn EditButton)

CustomButtonInitialize:处理列3(GridViewCommandColumn GridViewCommandColumnCustomButton)根据e.ButtonID和e.VisibleIndex确定唯一单元

HtmlRowCreated:有n行数据就被执行n次,能够获取e.KeyValue和e.VisibleIndex

HtmlDataCellPrepared:这个执行了三次,两次能看到是针对FieldName绑定列的。与数据行有关。

HtmlCommandCellPrepared:处理列1(GridViewCommandColumn EditButton)处理列3(GridViewCommandColumn GridViewCommandColumnCustomButton)

点击列2中按钮

DataBinding

CommandButtonInitialize:处理列1(GridViewCommandColumn EditButton)

CustomButtonInitialize:处理列3(GridViewCommandColumn GridViewCommandColumnCustomButton)

HtmlRowCreated

Page_Load

Click:如没有设计DataBind则执行1-2

1、HtmlDataCellPrepared

2、HtmlCommandCellPrepared

否则执行

CommandButtonInitialize:处理列1(GridViewCommandColumn EditButton)

CustomButtonInitialize:处理列3(GridViewCommandColumn GridViewCommandColumnCustomButton)

HtmlRowCreated

HtmlDataCellPrepared

HtmlCommandCellPrepared

 

 

0 0
原创粉丝点击