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