//
1.用<%# DataBinder.Eval(Container.DataItem,"MaritalStatus").ToString()=="1"?"已婚":"未婚" %>方式显示
//
2.用sql中的case Gender when 1 then '男' else '女' end显示
//
3.在后台写方法,前台调用显示,如Format(object item,string type)
//
4.DataGrid1_ItemDataBound
1.html
<
HTML
>
<
HEAD
>
<
title
>
GridFormat
</
title
>
<
meta
content
="Microsoft Visual Studio .NET 7.1"
name
="GENERATOR"
>
<
meta
content
="C#"
name
="CODE_LANGUAGE"
>
<
meta
content
="JavaScript"
name
="vs_defaultClientScript"
>
<
meta
content
="http://schemas.microsoft.com/intellisense/ie5"
name
="vs_targetSchema"
>
</
HEAD
>
<
body
MS_POSITIONING
="GridLayout"
>
<
form
id
="Form1"
method
="post"
runat
="server"
>
<
asp:datagrid
id
="DataGrid1"
style
="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 16px"
runat
="server"
AutoGenerateColumns
="False"
BorderColor
="#CC9966"
BorderStyle
="None"
BorderWidth
="1px"
BackColor
="White"
CellPadding
="4"
>
<
FooterStyle
ForeColor
="#330099"
BackColor
="#FFFFCC"
></
FooterStyle
>
<
SelectedItemStyle
Font-Bold
="True"
ForeColor
="#663399"
BackColor
="#FFCC66"
></
SelectedItemStyle
>
<
ItemStyle
ForeColor
="#330099"
BackColor
="White"
></
ItemStyle
>
<
HeaderStyle
Font-Bold
="True"
ForeColor
="#FFFFCC"
BackColor
="#990000"
></
HeaderStyle
>
<
Columns
>
<
asp:TemplateColumn
HeaderText
="ID"
>
<
ItemTemplate
>
<%
# DataBinder.Eval(Container.DataItem,"UserID")
%>
</
ItemTemplate
>
</
asp:TemplateColumn
>
<
asp:TemplateColumn
HeaderText
="学位"
>
<
ItemTemplate
>
<%
# Format(Container.DataItem,"Degree")
%>
</
ItemTemplate
>
</
asp:TemplateColumn
>
<
asp:TemplateColumn
HeaderText
="性别"
>
<
ItemTemplate
>
<%
# DataBinder.Eval(Container.DataItem,"Gender")
%>
</
ItemTemplate
>
</
asp:TemplateColumn
>
<
asp:TemplateColumn
HeaderText
="婚姻状况"
>
<
ItemTemplate
>
<%
# DataBinder.Eval(Container.DataItem,"MaritalStatus").ToString()=="1"?"已婚":"未婚"
%>
</
ItemTemplate
>
</
asp:TemplateColumn
>
<
asp:TemplateColumn
HeaderText
="描述"
>
<
ItemTemplate
>
<%
# DataBinder.Eval(Container.DataItem,"Description")
%>
</
ItemTemplate
>
</
asp:TemplateColumn
>
</
Columns
>
<
PagerStyle
HorizontalAlign
="Center"
ForeColor
="#330099"
BackColor
="#FFFFCC"
></
PagerStyle
>
</
asp:datagrid
></
form
>
</
body
>
</
HTML
>
2.cs代码
public
class
GridFormat : System.Web.UI.Page
{ protected System.Web.UI.WebControls.DataGrid DataGrid1; private void Page_Load(object sender, System.EventArgs e) { //1.用<%# DataBinder.Eval(Container.DataItem,"MaritalStatus").ToString()=="1"?"已婚":"未婚" %>方式显示 //2.用sql中的case Gender when 1 then '男' else '女' end显示 //3.在后台写方法,前台调用显示,如Format(object item,string type) //4.DataGrid1_ItemDataBound DataBind(); } GetDataSet#region GetDataSet private DataSet GetDataSet(string sql) { string constring=System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]; SqlDataAdapter sda =new SqlDataAdapter(sql,constring); DataSet ds=new DataSet(); sda.Fill(ds); return ds; } #endregion DataBind#region DataBind private void DataBind() { string sql="select UserID,Degree,Gender =case Gender when 1 then '男' else '女' end,MaritalStatus,Description from formatgrid "; DataSet ds=GetDataSet(sql); this.DataGrid1.DataSource=ds; this.DataGrid1.DataBind(); } #endregion Format#region Format protected string Format(object item,string type) { DataRowView drv=(DataRowView)item; string val=string.Empty; switch (drv["Degree"].ToString().ToLower()) { case "1": val="博士后"; break; case "2": val="博士"; break; case "3": val="硕士"; break; case "4": val="学士"; break; default: val=drv["Degree"].ToString(); break; } return val; } #endregion Web Form Designer generated code#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); this.DataGrid1.ItemDataBound+=new DataGridItemEventHandler(DataGrid1_ItemDataBound); } /**//// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.Load += new System.EventHandler(this.Page_Load); } #endregion DataGrid1_ItemDataBound#region DataGrid1_ItemDataBound private void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e) { if (e.Item.ItemType!=ListItemType.Header) { string subject=Convert.ToString(DataBinder.Eval(e.Item.DataItem,"Description")); if (subject.Length >10) { subject=subject.Substring(0,10)+""; } e.Item.Cells[4].Text=subject; } if (e.Item.ItemType!=ListItemType.Header) { e.Item.Cells[1].Attributes.Add( "onmouseover","this.style.color='Red';this.style.cursor='hand'"); e.Item.Cells[1].Attributes.Add( "onmouseout","this.style.color='Black';this.style.cursor='default'"); } } #endregion }
3.数据库教本
if
exists
(
select
*
from
dbo.sysobjects
where
id
=
object_id
(N
'
[dbo].[FormatGrid]
'
)
and
OBJECTPROPERTY
(id, N
'
IsUserTable
'
)
=
1
)
drop
table
[
dbo
]
.
[
FormatGrid
]
GO
CREATE
TABLE
[
dbo
]
.
[
FormatGrid
]
(
[
UserID
]
[
int
]
NULL
,
[
Degree
]
[
int
]
NULL
,
[
Gender
]
[
int
]
NULL
,
[
MaritalStatus
]
[
int
]
NULL
,
[
Description
]
[
nvarchar
]
(
500
) COLLATE Chinese_PRC_CI_AS
NULL
)
ON
[
PRIMARY
]
GO
--
测试数据
insert
into
FormatGrid(UserID,Degree,Gender,MaritalStatus,Description)
values
(
1
,
1
,
1
,
0
,
'
可以读取流。读取是从流到数据结构(如字节数组)的数据传输。
'
)
insert
into
FormatGrid(UserID,Degree,Gender,MaritalStatus,Description)
values
(
2
,
2
,
0
,
1
,
'
可以写入流。写入是从数据结构到流的数据传输。
'
)
insert
into
FormatGrid(UserID,Degree,Gender,MaritalStatus,Description)
values
(
3
,
3
,
1
,
0
,
'
流可以支持查找。查找是对流内的当前位置进行查询和修改。查找功能取决于流具有的后备存储区类型。例如,网络流没有当前位置的统一概念,因此一般不支持查找。
'
)
insert
into
FormatGrid(UserID,Degree,Gender,MaritalStatus,Description)
values
(
4
,
4
,
0
,
1
,
'
小山哥
'
)
insert
into
FormatGrid(UserID,Degree,Gender,MaritalStatus,Description)
values
(
5
,
5
,
1
,
0
,
'
山哥
'
)
转载请注明原文地址: https://ibbs.8miu.com/read-5527.html