格式化datagrid的例子【将数据源中的0,1值或者逻辑值转换成实际的文字】 2
#版本
using system;
using system.collections;
using system.componentmodel;
using system.data;
using system.drawing;
using system.web;
using system.web.sessionstate;
using system.web.ui;
using system.web.ui.webcontrols;
using system.web.ui.htmlcontrols;
/// <summary>
/// summary description for idbsample.
/// </summary>
public class idbsample : system.web.ui.page
{
#region web form designer generated code
override protected void oninit(eventargs e)
{
//
// codegen: this call is required by the asp.net web form designer.
//
initializecomponent();
base.oninit(e);
}
/// <summary>
/// required method for designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void initializecomponent()
{
this.dgcontacts.itemdatabound +=
new system.web.ui.webcontrols.datagriditemeventhandler(this.dgcontacts_itemdatabound);
this.load += new system.eventhandler(this.page_load);
}
#endregion
protected system.web.ui.webcontrols.datagrid formatdatagrid;
private dataset _dscontacts;
private void page_load(object sender, system.eventargs e)
{
// 装载xml数据原,注意:这里与数据原类型没有关系,换成数据库也是适用的
_dscontacts = new dataset();
_dscontacts.readxml(server.mappath("contacts.xml"));
datacolumn[] dcpk = {_dscontacts.tables["contact"].columns["email"]};
_dscontacts.tables["contact"].primarykey = dcpk;
if (!page.ispostback )
{
bindcontacts();
}
}
private void bindcontacts()
{
dataview dv = new dataview(_dscontacts.tables["contact"]);
dv.sort = "lastname, firstname";
dgcontacts.datasource = dv;
dgcontacts.databind();
}
protected string formatfullname(object firstname, object lastname)
{
// 格式划名称列
return (string)lastname + ", " + (string)firstname;
}
protected void formatdatagrid_itemdatabound(object source,
system.web.ui.webcontrols.datagriditemeventargs e)
{
// 确保处理的是数据行,而不是header或者footer
if (e.item.itemtype == listitemtype.item || e.item.itemtype == listitemtype.alternatingitem)
{
// 得到manager字段的值
string ismanager = (string)databinder.eval(e.item.dataitem, "manager");
if (ismanager == "1")
{
// ' 设定文字和背景颜色
e.item.cells[2].text = "经理"
e.item.cells[2].style.add("font-weight", "bold")
e.item.cells[2].forecolor = system.drawing.color.red
e.item.backcolor = system.drawing.color.aliceblue
}
else
{
e.item.cells[2].text = "普通员工";
}
}
}
}