您的位置:首页 > 其它

DataGrid分页;指定列的总和和平均值;显示鼠标背景色;弹出式窗口;

2008-04-28 22:37 190 查看
1 在页脚中添加指定列的总和和平均值

private void dgitem_ItemDataBound()

{

if(e.Item.ItemIndex >=0)

{

sum+=int.Parse(e.Item.Cells[3].Text);

}

else if(e.Item.ItemType==ListItemType.Footer)

{

e.Item.Cells[0].Text="总和为:";

e.Item.Cells[1].Text=sum.ToString();

e.Item.Cells[2].Text="平均值:";

e.Item.Cells[3].Text=((int)(sum/dgitem.Items.Count)).ToString()

}

}

2为DataGrid添加自动编号列(ItemDataBound AddOrderID)

private void AddOrderID()

{

if(e.ItemIndex!=-1)

{

int orderID=e.ItemIndex+1;

e.Item.Cells[0].Text=orderID.ToString();

}

}

3 DataGrid 分页;

//填充数据集

da.Fill(ds,"testTable");

//创建分页类

PagedDataSource objPage = new PagedDataSource();

//设置数据源

objPage.DataSource = ds.Tables["testTable"].DefaultView;

//允许分页

objPage.AllowPaging = true;

//设置每页显示的项数

objPage.PageSize = 5;

//定义变量用来保存当前页索引

int CurPage;

//判断是否具有页面跳转的请求

if (Request.QueryString["Page"] != null)

CurPage=Convert.ToInt32(Request.QueryString["Page"]);

else

CurPage=1;

//设置当前页的索引

objPage.CurrentPageIndex = CurPage-1;

//显示状态信息

lblCurPage.Text = "当前页:第" + CurPage.ToString()+"页";

//如果当前页面不是首页

if (!objPage.IsFirstPage)

//定义"上一页"超级链接的URL为:当前执行页面的虚拟路径,并传递下一页面的索引值

lnkPrev.NavigateUrl=Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage-1);

//如果当前页面不是最后一页

if (!objPage.IsLastPage)

//定义"下一页"超级链接的URL为:当前执行页面的虚拟路径,并传递下一页面的索引值

lnkNext.NavigateUrl=Request.CurrentExecutionFilePath+ "?Page=" + Convert.ToString(CurPage+1);

//进行数据绑定

dlPager.DataSource = objPage;

dlPager.DataBind();

4// ItemDataBound事件 鼠标移过来时设置该行的背景色

private void changeRowColor(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)

{

//如果是数据项并且是交替项

if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)

{

//添加自定义属性,当鼠标移过来时设置该行的背景色为"6699ff",并保存原背景色

e.Item.Attributes.Add("onmouseover","currentcolor=this.style.backgroundColor;this.style.backgroundColor='#6699ff'");

//添加自定义属性,当鼠标移走时还原该行的背景色

e.Item.Attributes.Add("onmouseout","this.style.backgroundColor=currentcolor");

}

}

5//<h2>在DataGrid中创建一个弹出式窗口

<asp:DataGrid id="dgAddDetails" style="Z-INDEX: 101; LEFT: 32px; POSITION: absolute; TOP: 64px"

<FooterStyle ForeColor="Black" BackColor="#CCCCCC"></FooterStyle>

<Columns>

<asp:BoundColumn DataField="FirstName" HeaderText="FirstName"></asp:BoundColumn>

<asp:HyperLinkColumn DataNavigateUrlField="EmployeeID" DataNavigateUrlFormatString="javascript:varwin=window.open('detail.aspx?ID={0}',null,'width=300,height=200');window.Close();"

DataTextField="LastName" HeaderText="LastName"></asp:HyperLinkColumn>

</Columns>

</asp:DataGrid>etails窗口</h2>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: