改善 DataGrid 的功能,提高客户的体验 1
DataGrid 提供了丰富的数据显示功能,但在对其进行扩展却不是十分的容易。好在它提供了很多的接口供我们扩展。
OnItemCommand :对自定义按钮定义 CommandName ,可通过 CommandName 来区分实现不同的功能。
<EditCommandColumn></EditCommandColumn> 内的接口
OnCancelCommand
OnEditCommand
OnUpdateCommand
Item 创建时的事件(只在 Create 时执行)
OnItemCreated
Item 数据绑定的事件 (在每次 render 时都执行)
OnItemDataBound
DataGrid 提供的 <EditCommandColumn></EditCommandColumn> 可以实现对 Row 中的数据进行修改和提交,功能十分强大。但是却没有提供客户端的功能扩展。那我们应该怎么办呢?
好在 DataGrid 有个 OnItemDataBound 事件,这样我们就有机会在 OnUpdateCommand 执行之前增加客户端功能了。
实现代码如下:
protected void dgRankList_ItemDataBound(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.EditItem)
{
WebControl okLbtn = (LinkButton) e.Item.Cells[4].Controls[0];
if (okLbtn != null)
{
TextBox txtEditLower = (TextBox) e.Item.Cells[1].FindControl("txtEditLower");
TextBox txtEditUpper = (TextBox)e.Item.Cells[1].FindControl("txtEditUpper");
TextBox txtEditRank = (TextBox)e.Item.Cells[1].FindControl("txtEditRank");
![](/Images/OutliningIndicators/InBlock.gif)
okLbtn.Attributes.Add("onclick",
string.Format("return validateRankReg('{0}','{1}','{2}');",
txtEditLower.ClientID, txtEditUpper.ClientID, txtEditRank.ClientID));
}
}
}
OnItemCommand :对自定义按钮定义 CommandName ,可通过 CommandName 来区分实现不同的功能。
<EditCommandColumn></EditCommandColumn> 内的接口
OnCancelCommand
OnEditCommand
OnUpdateCommand
Item 创建时的事件(只在 Create 时执行)
OnItemCreated
Item 数据绑定的事件 (在每次 render 时都执行)
OnItemDataBound
DataGrid 提供的 <EditCommandColumn></EditCommandColumn> 可以实现对 Row 中的数据进行修改和提交,功能十分强大。但是却没有提供客户端的功能扩展。那我们应该怎么办呢?
好在 DataGrid 有个 OnItemDataBound 事件,这样我们就有机会在 OnUpdateCommand 执行之前增加客户端功能了。
实现代码如下:
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)