Devexpress ASPxGridView事件调用顺序

页面上一个按钮,一个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

 

 

你可能感兴趣的:(Devexpress ASPxGridView事件调用顺序)