将数据存入Cache;
dgList.DataSource
=
ds;
this .Cache[ " DataSet " ] = ds;
dgList.DataBind();
而后
this .Cache[ " DataSet " ] = ds;
dgList.DataBind();
分页:
/**/
/// <summary>
/// Handles the PageIndexChanged event of the dgList control.
/// </summary>
/// <param name="source">The source of the event.</param>
/// <param name="e">The <see cref="System.Web.UI.WebControls.DataGridPageChangedEventArgs"/> instance containing the event data.</param>
private
void
dgList_PageIndexChanged(
object
source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
int pageIndex = 0;
if(e.NewPageIndex>this.dgList.PageCount-1)
pageIndex = this.dgList.PageCount-1;
else if(e.NewPageIndex<0)
pageIndex = 0;
else
pageIndex=e.NewPageIndex;
this.dgList.CurrentPageIndex = pageIndex;
this.dgList.DataSource = (DataSet)this.Cache["DataSet"];
this.dgList.DataBind();
}
注意必须在DataGrid中属性生成器设置排序表达式。
/**/
/// <summary>
/// Handles the SortCommand event of the dgList control.
/// </summary>
/// <param name="source">The source of the event.</param>
/// <param name="e">The <see cref="System.Web.UI.WebControls.DataGridSortCommandEventArgs"/> instance containing the event data.</param>
private
void
dgList_SortCommand(
object
source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
{
if((string)this.ViewState["Sort"] != e.SortExpression)
this.ViewState["Sort"] = e.SortExpression;
else
this.ViewState["Sort"] = e.SortExpression+" DESC";

DataSet ds = (DataSet)this.Cache["DataSet"];
ds.Tables[0].DefaultView.Sort = (string)this.ViewState["Sort"];
this.dgList.DataSource = ds.Tables[0].DefaultView;
this.dgList.DataBind();
}
绑定 :
第一个IF语句表示鼠标移动,所选行变色。
第二个IF可以在{}内e.Item.Cells[*].Text设置DataGrid的值,也可再次绑定控件。或对绑定的控件加入javascript代码。
/**/
/// <summary>
/// Handles the ItemDataBound event of the dgList control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="System.Web.UI.WebControls.DataGridItemEventArgs"/> instance containing the event data.</param>
private
void
dgList_ItemDataBound(
object
sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemType!=ListItemType.Header)
{
e.Item.Attributes.Add( "onmouseout","this.style.backgroundColor=/""+e.Item.Style["BACKGROUND-COLOR"]+"/"");
e.Item.Attributes.Add( "onmouseover","this.style.backgroundColor=/""+ "Gray"+"/"");
}
if(e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)
{
}
}
本文详细介绍如何使用DataGrid进行数据绑定、分页、排序及后绑定等操作。文章提供了具体的代码实例,展示了如何设置缓存、处理分页和排序事件,以及如何通过DataGridItemEventArgs进行后绑定操作。
157

被折叠的 条评论
为什么被折叠?



