关于DataGrid数据绑定后对字段进行替换的问题与办法
在项目中,我再次用到了VS2003的DataGrid控件进行数据显示。
根据要求,我需要在第8列将MSSQL2000中的varchar类型的数据"0"与"1"显示成"未传送"与"已传送"
于是我便在DataGrid与DataSet进行DataBind()后,再用for循环进行替换:
myDataGrid.DataBind();
for(int i=0;i<myDataSet.Tables[0].Rows.Count;i++)
{
if(myDataGrid.Items[i].Cells[7].Text=="0")
{
myDataGrid.Items[i].Cells[7].Text="未传送";
}
else
{
myDataGrid.Items[i].Cells[7].Text="已传送";
}
}
运行没有问题,于是我接着做DataGrid的分页功能,将页面设置成20行,并添加事件:
myDataGrid.DataSource=myDataSet;
myDataGrid.DataBind();
再一运行,报错了。显示大概是前面用for循环进行替换超出index范围值。
怎么办?我立刻想到了两种办法:
1.直接把数据库中的varchar类型的数据"0"与"1"更改成"未传送"与"已传送"
2.用模板列与DataBinder.Eval进行更改绑定(我选择此方法)
.aspx
<ItemTemplate>
<asp:Label id="sendLabel" runat="server" Text='<%#str_Mark(DataBinder.Eval(Container,"DataItem.mark").ToString())%>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
.aspx.cs
public string str_Mark(string strSign)
{
string strMassage = "";
if(strSign == "0")
{
strMassage = "<font color='red'>"+"未传送"+"</font>";
}
else if(strSign == "1")
{
strMassage = "<font color='green'>"+"已传送"+"</font>";
}
return strMassage;
}
以前看了一篇文章,说Bind要比Eval的功能和性能要好,大家也可以进行一些更改替换。
当然,如果大家有比我更好的解决办法,不吝赐教!
作者: XuGang 网名:钢钢 | ||||
出处: http://xugang.cnblogs.com | ||||
声明: 本文版权归作者和博客园共有。转载时必须保留此段声明,且在文章页面明显位置给出原文连接地址! | 本文转自钢钢博客园博客,原文链接:http://www.cnblogs.com/xugang/archive/2007/11/29/976571.html,如需转载请自行联系原作者 |
关于DataGrid数据绑定后对字段进行替换的问题与办法相关推荐
- ntext字段的替换处理示例--全表替换
Mission 1 : 根据需要,将数据库存储文章内容的字段中的域名www.a.com.cn 替换为 www.b.com.cn. 如此典型的问题 先看SQL server的联机手册, USE Nort ...
- SQL text字段的替换处理(无法批量更新,写法记录)
注: SQL2005以上版本直接使用varchar(max)的replace即可 此处只是记录一种写法 /*--text字段的替换处理 --*/ --创建数据测试环境 create tabl ...
- jquery easyui dataGrid动态改变排序字段名
2019独角兽企业重金招聘Python工程师标准>>> jquery easyui dataGrid 动态改变排序字段名,一般情况下,在使用的时候,我们会点击相应字段进行排序, 这里 ...
- 按钮提交在url后添加字段_在输入字段上定向单击“清除”按钮(X)
按钮提交在url后添加字段 jQuery makes it easy to get your project up and running. Though it's fallen out of fav ...
- mysql降序后去重_Mysql 数据记录去重后按字段排序
实现效果:去重-取最新的-排序 例子 : 按用户ID获取历史记录中某个人的记录,要求非重复的且每条只获取最新的,同时按添加时间倒序排列的 实现 :SELECT * FROM ( SELECT * FR ...
- ntext字段的替换处理示例--全表替换(作者:邹建)
--ntext字段的替换处理示例--全表替换 --测试数据 create table test(id varchar(3),txt ntext) insert into test select '1' ...
- EAS BOS 新建单据后新增字段
EAS BOS 新建单据后新增字段 1.在新建的单据界面上单击右键,选择字段管理,然后出现下图界面,然后点击新增字段 2.因为每个字段的类型不一样,所以选择的时候需要注意. F7基础资料 类型 已有基 ...
- Mysql某个字段内容替换(字符串中的一部分内容替换) sql
Mysql 某个字段内容替换 问题描述: 将某一个字段的数据内容中的一部分替换:如图 数据量大情况下可以进行批量替换会很方便快捷 问题解决 sql函数: INSERT(s1,x,len,s2) 字符串 ...
- Oracle数据库在指定字段后新增字段
记录一下数据库中为表增加字段,且在指定字段后新增: mysql数据库的话比较简单通过一下sql语句即可实现: -- 为表t在B字段后新增字段 alter table t add column fild ...
最新文章
- 五行塔怎么吃第五个_红毛丹怎么吃 吃红毛丹的五个好处
- Tomcat7启动报Error listenerStart错误--转载
- 数据结构导论初步理解
- 音视频技术开发周刊 | 187
- C# 获取配置文件节点值
- Android之RxJava(一)
- 【报告分享】中国城市人工智能发展指数报告.pdf(附下载链接)
- jquery获取元素索引
- shell命令wc,md5sum,basename
- ffmpeg视频播放、格式转化、缩放等命令
- MATLAB把型线图画静水力曲线,静水力曲线计算与绘制指导书
- CentOS修改IP地址
- 微信小程序怎么开店铺
- html打印预览空白,win7系统下使用IE浏览器预览打印页面时显示页面空白
- 英国四高校携手开展智能传感器系统研究
- 30日21时:上海铁路局通报列车最新晚点信息
- TCP系列39—拥塞控制—2、拥塞相关算法及基础知识
- 5月24日到5月30日
- 现有的画笔和创建自己的画笔6zhongGDI
- 网卡流量实时查看的三种方法
热门文章
- linux数据污点标记,Taints和Tolerations(污点和容忍)
- 一次请求到php都经过了哪些步骤,PHP高级之一次请求处理过程或生命周期详解
- python如何在官网下载1005无标题,如何安装python cairo?
- 安可与普通测评的区别_PRINCE王子TeXtreme Tour 100系列网球拍测评(文末有福利)
- 三层架构项目如何发布_以k8s集群管理为例,大牛教你如何设计优秀项目架构
- python if and_python有趣用法汇总(持续更新)
- Python:tkinter滚动抽奖器
- 全球及中国微电网市场规模容量及建设运营模式分析报告2021年版
- haddler处理队列 netty_如何实现延迟队列
- vue 非template模式_vue-template-compiler 还能这么用