一个关于gridview绑定的问题

xuehaolong 2010-06-22 05:34:04
是这样的

数据库里有一张表
姓名 varchar(20)
性别 int
年龄 int


数据是 张三,1,23

在前台页面用的是DropDownList item 分别是 男 1 女 2
GridView 显示列是 <asp:BoundField DataField="sex" HeaderText="性别"/>


数据取出来后放在dataset里,然后指定给GridView的数据源
GridView显示的结果是 张三,1,23

而我想要的是结果是 张三,男 ,23

想问一下各位大侠怎么在提取出数据后修改其值再赋值给GridView,小弟不碰代码好久里,谢谢各位。
...全文
117 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangyong2502006 2010-09-10
  • 打赏
  • 举报
回复
只是 测试 哈 看csdn里面的词汇过滤功能又几强大
xuehaolong 2010-06-22
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 yusheng622 的回复:]
引用 11 楼 xuehaolong 的回复:

引用 9 楼 kathylxb 的回复:
用模板列:

<asp:TemplateField HeaderText="性别">
<ItemTemplate>
<%#(string)Eval("性别")=="1"?"男":"女"%>
</ItemTemplate>
</asp:TemplateField>
模板列是可以的,但没打算……
[/Quote]

说实话,无论是在模板列或RowDataBound事件里去绑定,都是很消耗消耗效率的,各位可以用代码跟踪一下看看,应为存储过程用的是cte技术,现在还没看明白那个技术呢,所以只好先采用这种比较好效率的办法了,谢谢各位。
aa651170085 2010-06-22
  • 打赏
  • 举报
回复
学习看看
xuehaolong 2010-06-22
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 suiyiminmin 的回复:]
C# code

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if(e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.Cells[i].Text == "1")
{……
[/Quote]

这个可以,哈哈,谢谢各位了。
yusheng622 2010-06-22
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 xuehaolong 的回复:]

引用 9 楼 kathylxb 的回复:
用模板列:

<asp:TemplateField HeaderText="性别">
<ItemTemplate>
<%#(string)Eval("性别")=="1"?"男":"女"%>
</ItemTemplate>
</asp:TemplateField>
模板列是可以的,但没打算用模板列去做
[/Quote]
为什么不用模板列呢?只要能达到效果不就行了吗?
beyond_me21 2010-06-22
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 breezekey 的回复:]
SELECT 姓名,年龄,(CASE 性别 WHEN 1 THEN '男' ELSE '女' END) AS 性别 FROM Table
[/Quote]
查询语句里直接计算效率比较好
yusheng622 2010-06-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xuehaolong 的回复:]

引用 1 楼 shiyuyao1987 的回复:
<%#(string)Eval("性别")=="1"?"男":"女"%>

我知道这样的可以,但我绑定数据的方法不是这种的。是用的<asp:BoundField DataField="sex" HeaderText="性别"/>
[/Quote]

把字段转化为模板列,用BoundField绑定是不行的!
xuehaolong 2010-06-22
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 kathylxb 的回复:]
用模板列:

<asp:TemplateField HeaderText="性别">
<ItemTemplate>
<%#(string)Eval("性别")=="1"?"男":"女"%>
</ItemTemplate>
</asp:TemplateField>
[/Quote]

模板列是可以的,但没打算用模板列去做
lass_name 2010-06-22
  • 打赏
  • 举报
回复
都是高人啊,哥是打酱油的。。。
kathylxb 2010-06-22
  • 打赏
  • 举报
回复
用模板列:

<asp:TemplateField HeaderText="性别">
<ItemTemplate>
<%#(string)Eval("性别")=="1"?"男":"女"%>
</ItemTemplate>
</asp:TemplateField>
kuirou 2010-06-22
  • 打赏
  • 举报
回复
在GridView的RowDataBound事件写:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
e.Row.Cells[绑定的sex的索引号].Text = e.Row.Cells[绑定的sex的索引号].Text == 1 ? "男" : "女";
}
你试试,我没有测试。
哈喽Baby 2010-06-22
  • 打赏
  • 举报
回复

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if(e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.Cells[i].Text == "1")
{
e.Row.Cells[i].Text = "男";
}
else
{
e.Row.Cells[i].Text = "女";
}
}
}

i是sex在gridview中的第几列,从0开始
breezekey 2010-06-22
  • 打赏
  • 举报
回复
SELECT 姓名,年龄,(CASE 性别 WHEN 1 THEN '男' ELSE '女' END) AS 性别 FROM Table
shiyuyao1987 2010-06-22
  • 打赏
  • 举报
回复
在sql语句里处理
xuehaolong 2010-06-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ivws_19 的回复:]
rowdatabound事件里判断一下
[/Quote]

能明确点么
ivws_19 2010-06-22
  • 打赏
  • 举报
回复
rowdatabound事件里判断一下
xuehaolong 2010-06-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 shiyuyao1987 的回复:]
<%#(string)Eval("性别")=="1"?"男":"女"%>
[/Quote]
我知道这样的可以,但我绑定数据的方法不是这种的。是用的<asp:BoundField DataField="sex" HeaderText="性别"/>
shiyuyao1987 2010-06-22
  • 打赏
  • 举报
回复
<%#(string)Eval("性别")=="1"?"男":"女"%>

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧