DataGrid的多种格式化显示方法
来源:互联网 发布:ssh 命令带端口号 编辑:程序博客网 时间:2024/06/01 07:45
//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
//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代码<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>
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.数据库教本{
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
}
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,'山哥')
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,'山哥')
- DataGrid的多种格式化显示方法
- DataGrid的多种格式化显示方法
- DataGrid的多种格式化显示方法
- Flex DataGrid数据的多种显示方式
- Flex DataGrid数据的多种显示方式
- Flex DataGrid数据的多种显示方式
- Flex DataGrid数据的多种显示方式
- silverlight之How To:格式化DataGrid里的列显示
- jQuery EasyUI — 格式化显示datagrid的numberbox编辑类型
- 多种方式解决EasyUI—DataGrid中DateTime的格式化问题
- 在对话框显示图片的多种方法
- 在对话框显示图片的多种方法
- UILable:显示多种颜色的方法
- DOS批处理下格式化日期字符串的多种方法(详解)
- Datagrid 的格式化
- 格式化DataGrid的例子
- DataGrid中日期格式化方法
- DataGrid中日期格式化方法
- C++资源之不完全导引(完整版)
- ArrayList中的数据排序--java对象排序
- 用DataGrid演示某字段为null保存xml时节点丢失的问题
- 共享一些JAVA面试题
- 用于DataGrid MoveUp,MoveDown的存储过程
- DataGrid的多种格式化显示方法
- DataGrid实现(上下左右移动,添加删除行列,导出,表头拖动)
- DataGrid显示图片(物理路径式和Stream流式)和添加图片到数据库
- 实现DataGrid拖动和排序
- Java之旅
- 实现如何调整DataGrid列宽
- 常用sql存储过程集锦
- 合并实现DataGrid多表头
- Java模式设计读书笔记 之 抽象工厂模式(上)