格式化DataGrid的例子【將資料來源中的0,1值轉換成實際的文字】 (轉)
格式化DataGrid的例子【將資料來源中的0,1值轉換成實際的文字】 (轉)[@more@]
Mail>myaddress@mycompany.comemail>
E章
孟子
0
youraddress@yourcompany.com
憲會
孟
1
mm@mmm.mm
Lover
Net
0
xxx@xxxx.xx
NET開發者園地
0
hhh@hhh.hh
XML開發者園地
1
.FormatDataGridVB" %>
w3c//DTD HTML 4.0 Transitional//EN" >
microsoft 7.0">
">
script">
intellisense/">
RM id="iSample" method="post" runat="server" class="SubHeading">
是 Web 窗體設計器所必需的。
buggerStepThrough()> Private Sub InitializeComponent()
End Sub
Private Sub Page_Init(ByVal sender As System., ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: 此方法呼叫是 Web 窗體設計器所必需的
'不要使用程式碼編輯器修改它。
InitializeComponent()
End Sub
#End Region
Private _dntacts 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.Data = 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
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 description for idbSample.
///
public class idbSample : System.Web.UI.Page
{
#region Web Form Designer generated code
overr protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
///
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
///
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 = "普通員工";
}
}
}
}
格式化DataGrid的例子【將資料原中的0,1值轉換成實際的文字】
playground.com/">
下面的程式碼實現格式化DataGrid的列,也即是將資料原中的0,1值轉換成實際的文字的功能,主要是在資料繫結的幫定事件。
x">檢視例子
首先準備資料來源,資料來源採用、、陣列等都可以。下面以XML做例子。Contacts.xml如下:
FormatDataGridVB.
C#版本
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-958424/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Word將文字轉換成表格技巧
- 如何將列中的low_value和high_value轉換為實際的值
- siebel切換資料來源【轉】
- JS中的資料型別轉換:String轉換成Number的3種方法JS資料型別
- CSS將長文字換行的方法(轉)CSS
- excel日期格式轉換中,怎樣將“/”轉換成“-”Excel
- 將Object物件轉換成Map 屬性名和值的形式Object物件
- sql 在將 nvarchar 值 轉換成資料型別 int 時失敗。SQL資料型別
- Oracle資料庫的SCN轉換成時間和時間轉換成SCNOracle資料庫
- js實現的將文字中的url網址轉換為可以點選的連結JS
- 將“PDF轉換成PPT”與“PPT轉PDF”的方法
- js將有父子關係的資料轉換成樹形結構資料JS
- 幾個行列轉換的實用小例子
- 將數值轉換為字串的函式字串函式
- 行列轉換的一個例子
- 將字串轉換成Bitmap型別 或者 將Bitmap轉換成字串字串型別
- ruby中將陣列轉換成hash陣列
- JS中將一個值轉換為字串的3種方法JS字串
- Magic Linux 的資料來源列表(轉)Linux
- 如何將Rust的“struct”轉換為資料流?RustStruct
- Python將經緯度資料轉換成浮點資料Python
- 如何將jquery生成的物件轉換成dom物件jQuery物件
- 對Boost庫中的數值到字串的轉換的改進 (轉)字串
- queer/utt:utt是通用的開源文字轉換器
- ADO資料與XML資料間的轉換的類(ASP實現) (轉)XML
- Flume將 kafka 中的資料轉存到 HDFS 中Kafka
- Word文件批次轉換成TXT文字
- 識別圖片文字轉換成word文字真的很難嗎?分享圖片轉文字的技巧
- C# 實現將 PDF 轉文字的功能C#
- JS 將有父子關係的陣列轉換成樹形結構資料JS陣列
- 頁面資料賦值轉換賦值
- ASP.NET中的DataGrid的屬性 (轉)ASP.NET
- 將DBF檔案(dBase, FoxPro等)中的資料轉換到SQLiteSQLite
- C++資料格式化6 - uint轉換成二六進位制字串C++UI字串
- 將整數轉換成字串字串
- ERP“失落” 資訊化實施的資料來源和流(轉)
- 如何在Python中將語音轉換為文字Python
- 求websphere中cmp與資料來源配置例子Web