也就是一个类似于在SQL Server 2000里使用SQL语句"Case"关键字那样的情况
比如Case Column1 WHEN 0 THEN 'XXX' WHEN 1 THEN 'YYYY'
类似于这样的一种功能。
我在一个字段里存储了各种数字,事先约定好各种数字代表什么,然后通过Case关键字在数据表格中呈现给用户。
比如0 代表 XXX
1 代表 YYY
2 代表 ZZZ
数据库里是0、1、2,但呈现给用户的时候应该是XXX、YYY、ZZZ在SQL Server 2000数据库里可以用SQL语句来实现,但是在脱机之后的DataSet里怎么实现这样的功能呢?
比如Case Column1 WHEN 0 THEN 'XXX' WHEN 1 THEN 'YYYY'
类似于这样的一种功能。
我在一个字段里存储了各种数字,事先约定好各种数字代表什么,然后通过Case关键字在数据表格中呈现给用户。
比如0 代表 XXX
1 代表 YYY
2 代表 ZZZ
数据库里是0、1、2,但呈现给用户的时候应该是XXX、YYY、ZZZ在SQL Server 2000数据库里可以用SQL语句来实现,但是在脱机之后的DataSet里怎么实现这样的功能呢?
解决方案 »
- C#中如何给一个程序加载皮肤,
- 是不是大家做后台那个内容管理器 都是套用别人的呢
- 反编译dll文件修改后要重新生成dll,需要建立一个什么项目?类库还是控件库?
- 请高手指教!C#中如何实现登陆TPLINK路由器
- 再问UTF8,知道U8的编码,怎么得到它对应的字符?
- XSD给存储过程传参数的问题
- 紧急:请问大家,怎么用C#程序读取数码相机中的照片?
- 请教:Winform下的DataGrid绑定ComboColumn的问题。
- C#连接SQLite修改,查询功能
- 在picturebox上画圆的切线
- 求助啊,基本问题,可真的卡住我啦,谁帮帮我啊!!!怎么样在一个事件里引用别的控件的事件啊!!!在线等啊!!!
- 线程,线程,线程----------还是线程
string tmp = String.Empty;
for(int i=0;i<ds.Tables[0].Row.Count;i++)
{
switch(ds.Table[0].Row[i]["columnName"].ToString())
{
case "1":
emp = "YYY";
break;
}
}
Response.Write(tmp);
不过我还是认为写在sql里比较好
或在dataset中增加一列来根据你说的存放数字列的内容,存放你要显示的内容
不过都得循环加
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;
using System.Configuration;namespace 易网科技.Admin.User
{
/// <summary>
/// UserData 的摘要说明。
/// </summary>
public class UserData : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Repeater Repeater1;
protected System.Web.UI.WebControls.DataList DataList1;
protected DataOperation DataOP=new DataOperation();
protected int Records;//记录数
protected int TotalPage;//总页数
protected int CurrentPage;//当前页
protected int PageSize=Int32.Parse(ConfigurationSettings.AppSettings["PageSize"]);//每页记录数,此信息在Web.Config中
protected DataSet ds;
protected bool bPre,bNext;//是否启用
protected string sPre,sNext;
protected System.Web.UI.WebControls.Label Label1;
//导航的URL
private void Page_Load(object sender, System.EventArgs e)
{
if(!this.IsPostBack)
{
if(Request["Page"]==null)
{
CurrentPage=1;
}
else
{
try
{
CurrentPage=Convert.ToInt32(Request["Page"]); }
catch
{
CurrentPage=1;
}
}
if(CurrentPage>0)
{
sPre="UserData.aspx?Page="+Convert.ToString(CurrentPage-1);//上一页
sNext="UserData.aspx?Page="+Convert.ToString(CurrentPage+1);//下一页
if(CurrentPage==1)
{
bPre=false;
}
else
{
bPre=true;
}
ds=DataOP.GetUserData(CurrentPage,PageSize,out Records,out TotalPage);
if(CurrentPage==TotalPage)
{
bNext=false;
}
else
{
bNext=true;
}
DataList1.DataSource=ds;
DataList1.DataBind();
}
}
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.DataList1.ItemDataBound += new System.Web.UI.WebControls.DataListItemEventHandler(this.DataList1_ItemDataBound_1);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion //用以显示用性别,状态及权限
private void DataList1_ItemDataBound_1(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
if(e.Item.ItemIndex>-1)
{
int qx,zt,xb;
qx=Convert.ToInt32(ds.Tables["User"].Rows[e.Item.ItemIndex]["qx"]);
zt=Convert.ToInt32(ds.Tables["User"].Rows[e.Item.ItemIndex]["zt"]);
xb=Convert.ToInt32(ds.Tables["User"].Rows[e.Item.ItemIndex]["xb"]);
Label Level=(Label)e.Item.FindControl("Label2");
Label Status=(Label)e.Item.FindControl("Label3");
Label Sex=(Label)e.Item.FindControl("Label4");
if (qx==1)
Level.Text="正常";
else
Level.Text="管理员";
if(zt==1)
Status.Text="正常";
else
Status.Text="已锁定";
if(xb==1)
Sex.Text="男";
else
Sex.Text="女";
}
}
}
}
private void DataList1_ItemDataBound_1(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
if(e.Item.ItemIndex>-1)
{
int qx,zt,xb;
qx=Convert.ToInt32(ds.Tables["User"].Rows[e.Item.ItemIndex]["qx"]);
zt=Convert.ToInt32(ds.Tables["User"].Rows[e.Item.ItemIndex]["zt"]);
xb=Convert.ToInt32(ds.Tables["User"].Rows[e.Item.ItemIndex]["xb"]);
Label Level=(Label)e.Item.FindControl("Label2");
Label Status=(Label)e.Item.FindControl("Label3");
Label Sex=(Label)e.Item.FindControl("Label4");
if (qx==1)
Level.Text="正常";
else
Level.Text="管理员";
if(zt==1)
Status.Text="正常";
else
Status.Text="已锁定";
if(xb==1)
Sex.Text="男";
else
Sex.Text="女";
}
}
}
}