zoukankan
html css js c++ java
DataGrid的多种格式化显示方法
//
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();
for
(
int
i
=
0
; i
<
DataGrid1.Items.Count; i
++
)
{
if
(DataGrid1.Items[i].Cells[
2
].Text
==
"
男
"
)
{
DataGrid1.Items[i].Cells[
2
].ForeColor
=
System.Drawing.Color.Red;
}
}
}
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
,
'
山哥
'
)
查看全文
相关阅读:
堆内存与栈内存
struts2 ajax 实现方式
Hibernate 配置派生属性
高效 jquery 的奥秘
对于Maven管理的项目制定虚拟目录
ThreadLocal 笔记
java Thread.join()
vi 使用笔记
浮动闭合方案:clearfix
熬夜之弊及改善之法
原文地址:https://www.cnblogs.com/Fooo/p/407827.html
最新文章
Egret Engine 2D
Egret Engine 2D
Egret Engine 2D
Egret Engine 2D
读书笔记
读书笔记
读书笔记
读书笔记
读书笔记
php 异步处理的gearman
热门文章
xxx is not in the sudoers file. This incident will be reported
php composer包管理工具
LNMP优化
HTTP协议中keep-alive
跨域问题
SVN+post-commit 搭建自动同步版本库
redis的内部实现机制
linux 程序运行监控
mysql数据类型整理
Mysql 存储过程
Copyright © 2011-2022 走看看