国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

格式化DataGrid的例子

2024-07-21 02:23:07
字體:
來源:轉載
供稿:網友
下面的代碼實現格式化datagrid的列,也即是將數據原中的0,1值轉換成實際的文字的功能,主要是在數據綁定的幫定事件。

查看例子

首先準備數據源,數據源采用數據庫、xml、數組等都可以。下面以xml做例子。contacts.xml文件如下:

<?xml version="1.0" encoding="gb2312" standalone="yes"?>
<contacts>
<contact>
<email>[email protected]</email>
<firstname>e章</firstname>
<lastname>孟子</lastname>
<manager>0</manager>
</contact>
<contact>
<email>[email protected]</email>
<firstname>憲會</firstname>
<lastname>孟</lastname>
<manager>1</manager>
</contact>
<contact>
<email>[email protected]</email>
<firstname>lover</firstname>
<lastname>net</lastname>
<manager>0</manager>
</contact>
<contact>
<email>[email protected]</email>
<firstname>net開發者園地</firstname>
<lastname/>
<manager>0</manager>
</contact>
<contact>
<email>[email protected]</email>
<firstname>xml開發者園地</firstname>
<lastname/>
<manager>1</manager>
</contact>
</contacts>


formatdatagridvb.aspx

<%@ page language="vb" autoeventwireup="false" codebehind="formatdatagridvb.aspx.vb"
inherits="aspxweb.formatdatagridvb" %>
<!doctype html public "-//w3c//dtd html 4.0 transitional//en" >
<html>
<head>
<meta name="generator" content="microsoft visual studio 7.0">
<meta name="code_language" content="c#">
<meta name="vs_defaultclientscript" content="javascript">
<meta name="vs_targetschema" content="http://schemas.microsoft.com/intellisense/ie5">
</head>
<body>
<form id="idbsample" method="post" runat="server" class="subheading">
<asp:label id="mytitle" runat="server" font-bold="true"></asp:label>
<br>
<br>
<asp:datagrid id="formatdatagrid" runat="server" autogeneratecolumns="false" width="100%">
<headerstyle font-bold="true"></headerstyle>
<columns>
<asp:templatecolumn>
<itemtemplate>
<asp:label
text='<%# formatfullname(databinder.eval(container, "dataitem.firstname"),_
databinder.eval(container, "dataitem.lastname")) %>'
runat="server" id="label1">
</asp:label>
</itemtemplate>
</asp:templatecolumn>
<asp:boundcolumn datafield="email" readonly="true"></asp:boundcolumn>
<asp:boundcolumn datafield="manager" readonly="true">
<headerstyle horizontalalign="center"></headerstyle>
<itemstyle horizontalalign="center"></itemstyle>
</asp:boundcolumn>
</columns>
</asp:datagrid>
</form>
</body>
</html>

formatdatagridvb.aspx.vb

imports system
imports system.data
imports system.web.ui
imports system.web.ui.webcontrols
imports system.xml

public class formatdatagridvb
inherits system.web.ui.page
protected withevents formatdatagrid as system.web.ui.webcontrols.datagrid
protected withevents mytitle as system.web.ui.webcontrols.label

#region " web 窗體設計器生成的代碼 "
'該調用是 web 窗體設計器所必需的。
<system.diagnostics.debuggerstepthrough()> private sub initializecomponent()

end sub

private sub page_init(byval sender as system.object, byval e as system.eventargs) handles mybase.init
'codegen: 此方法調用是 web 窗體設計器所必需的
'不要使用代碼編輯器修改它。
initializecomponent()
end sub

#end region

private _dscontacts as dataset

private sub page_load(byval sender as system.object, byval e as system.eventargs) handles mybase.load
mytitle.text = "格式化datagrid的例子【將數據原中的0,1值轉換成實際的文字】"
formatdatagrid.columns(0).headertext = "姓名"
formatdatagrid.columns(1).headertext = "電子郵件"
formatdatagrid.columns(2).headertext = "職位"
' 裝載xml數據原,注意:這里與數據原類型沒有關系,換成數據庫也是適用的
_dscontacts = new dataset()
_dscontacts.readxml(server.mappath("contacts.xml"))
dim dcpk as datacolumn() = {_dscontacts.tables("contact").columns("email")}
_dscontacts.tables("contact").primarykey = dcpk

if not page.ispostback then
' 只在頁面首次請求時才進行數據綁定
bindcontacts()
end if
end sub

private sub bindcontacts()
dim dv as dataview = new dataview(_dscontacts.tables("contact"))
dv.sort = "lastname, firstname"
formatdatagrid.datasource = dv
formatdatagrid.databind()
end sub

protected function formatfullname(byval firstname as object, byval lastname as object) as string
' 格式劃名稱列
return ctype(lastname, string) & "." & ctype(firstname, string)
end function

private sub formatdatagrid_itemdatabound(byval sender as object,_
byval e as system.web.ui.webcontrols.datagriditemeventargs) handles formatdatagrid.itemdatabound

' 確保處理的是數據行,而不是header或者footer
if e.item.itemtype = listitemtype.item orelse e.item.itemtype = listitemtype.alternatingitem then
' 得到manager字段的值
dim ismanager as string = ctype(databinder.eval(e.item.dataitem, "manager"), string)

if ismanager = "1" then
' 設定文字和背景顏色
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 = "普通員工"
end if
end if
end sub
end class

c#版本

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 = "普通員工";
}
}
}
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 淳化县| 乐安县| 女性| 资溪县| 安多县| 介休市| 灵台县| 卢氏县| 山东省| 三穗县| 洛南县| 灌云县| 海城市| 郧西县| 巴青县| 安岳县| 镇雄县| 洱源县| 西乌| 贵德县| 通渭县| 西畴县| 海林市| 大同县| 库尔勒市| 松原市| 丰台区| 台山市| 庆安县| 临沧市| 达尔| 侯马市| 景洪市| 高台县| 津南区| 临洮县| 宁乡县| 宁海县| 类乌齐县| 新余市| 手机|