热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在GridView中实现根据一条数据记录的某些值来设定GridView某字段中是否显示一些图片的标准写法应该怎么写?

查阅了一些资料。不知道是该在RowCreated事件里呢还是RowDataBound事件里写。另外不太清楚怎么访问原始数据源的字段值。采用cell[]的方式访问的是界面显示处理后的数据吧?
查阅了一些资料。
不知道是该在RowCreated事件里呢还是RowDataBound事件里写。
另外不太清楚怎么访问原始数据源的字段值。采用cell[]的方式访问的是界面显示处理后的数据吧?
不知道通常的标准写法是什么样的?

17 个解决方案

#1


RowDataBound里写就行了
 if (e.Row.RowType == DataControlRowType.DataRow)
        {   
            e.Row.Cells[3].Text = e.Row.Cells[3].Text == "11" ? "临时" : "正式";          
           
        }

#2


RowDataBound

#3


引用 1 楼 truecoffeefox 的回复:
RowDataBound里写就行了
C# code
 if (e.Row.RowType == DataControlRowType.DataRow)
        {   
            e.Row.Cells[3].Text = e.Row.Cells[3].Text == "11" ? "临时" : "正式";          
           
        }……

谢谢。问题是我用来做判断的某些字段数据不会在GridView里显示出来,势必用cells[]访问不到,这种情况下该怎么办?DataItem ?

#4


谢谢。问题是我用来做判断的某些字段数据不会在GridView里显示出来,势必用cells[]访问不到,这种情况下该怎么办?DataItem ?
=============================
将不显示的字段设为模版列,隐藏掉!
在RowDataBound事件中用FindControl来找!

#5


绑定的时候就判断输出

#6


引用 4 楼 lvyichang 的回复:
谢谢。问题是我用来做判断的某些字段数据不会在GridView里显示出来,势必用cells[]访问不到,这种情况下该怎么办?DataItem ?
=============================
将不显示的字段设为模版列,隐藏掉!
在RowDataBound事件中用FindControl来找!

有不用模板列的方法吗?类似以前delphi中datasource.dataset.fields["XXXX"]的方式?

#7


<%# Eval("字段").ToString()="某个值"?"图片地址":"另一图片地址"%>

如果绑定字段等于某个值

就返回图片地址。

如果不等于

返回另一图片地址。

#8


引用 7 楼 wxr0323 的回复:
<%# Eval("字段").ToString()="某个值"?"图片地址":"另一图片地址"%>

如果绑定字段等于某个值

就返回图片地址。

如果不等于

返回另一图片地址。

这是写在aspx里的。可我想写在后台代码文件里。

#9


引用 8 楼 chenxi_aji 的回复:
引用 7 楼 wxr0323 的回复:

<%# Eval("字段").ToString()="某个值"?"图片地址":"另一图片地址"%>

如果绑定字段等于某个值

就返回图片地址。

如果不等于

返回另一图片地址。

这是写在aspx里的。可我想写在后台代码文件里。

也可以
前台绑定字段
 <%= str%>
后台给字段赋值

public string str=string.Empty;
if(xxx)
str="";
else
{
str="";
}
自己判断完了赋值 前台绑定。

#10


7,8,9楼都有说 就不说了吧

#11


引用 6 楼 chenxi_aji 的回复:
引用 4 楼 lvyichang 的回复:

谢谢。问题是我用来做判断的某些字段数据不会在GridView里显示出来,势必用cells[]访问不到,这种情况下该怎么办?DataItem ?
=============================
将不显示的字段设为模版列,隐藏掉!
在RowDataBound事件中用FindControl来找!

有不用模板列的方法吗?类似以前d……

有不用模板列的方法吗?类似以前delphi中datasource.dataset.fields["XXXX"]的方式?
这个才是我想问的关键

#12


RowCreated是在数据行(GridViewRow)创建后DataBind()之前触发
gridView.DataSource = ds; 触发  DataBinding ->RowCreated 

RowDataBound是在数据源绑定后DataBind()时发生,要动态控制绑定,用这个就行了

http://msdn.microsoft.com/zh-cn/library/hf8xwy0t(v=VS.80).aspx
http://shirong.blog.51cto.com/1359798/495877

#13


引用 6 楼 chenxi_aji 的回复:
有不用模板列的方法吗?类似以前de……

可以!设置GridView的DataKeyNames,若原来设置了id,在设置一个你的字段如name,
在GridView的DataKeyNames属性中如:id,name

在RowDataBound的事件中获取name的值,如:
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            string a = GridView1.DataKeys[e.Row.RowIndex].Values[1].ToString();
        }

#14


引用 13 楼 lvyichang 的回复:
引用 6 楼 chenxi_aji 的回复:
有不用模板列的方法吗?类似以前de……

可以!设置GridView的DataKeyNames,若原来设置了id,在设置一个你的字段如name,
在GridView的DataKeyNames属性中如:id,name

在RowDataBound的事件中获取name的值,如:
        if (e.Row.RowType == Da……

谢谢!请问这种方式id,name是不是一定要和e.Row.RowIndex对应起来????

#15


up一下。谢谢。

#16


引用 14 楼 chenxi_aji 的回复:
引用 13 楼 lvyichang 的回复:

引用 6 楼 chenxi_aji 的回复:
有不用模板列的方法吗?类似以前de……

可以!设置GridView的DataKeyNames,若原来设置了id,在设置一个你的字段如name,
在GridView的DataKeyNames属性中如:id,name

在RowDataBound的事件中获取name的值,如:
if (e……


并不存在对应不对应的问题吧,DataKeys[e.Row.RowIndex]取出来的就是e.Row.RowIndex对应行的数据

#17


引用 8 楼 chenxi_aji 的回复:
引用 7 楼 wxr0323 的回复:

<%# Eval("字段").ToString()="某个值"?"图片地址":"另一图片地址"%>

如果绑定字段等于某个值

就返回图片地址。

如果不等于

返回另一图片地址。

这是写在aspx里的。可我想写在后台代码文件里。


非要在后台完成所有的话可以考虑根据数据构造一个符合你要求的list作为数据源绑定到girdview,这样girdview就不需要做什么额外处理

讲灵活的话还是用datalist这样的控件在aspx里定义样式和数据绑定

推荐阅读
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • 通过在项目中引用 NuGet 包 `ExcelDataReader`,可以实现高效地读取和导入 Excel 文件中的数据。具体方法是在项目中执行 `Install-Package ExcelDataReader` 命令,然后通过定义一个 `LeadingIn` 方法并传入上传文件的路径来完成数据导入。该方法不仅简化了代码逻辑,还显著提升了数据处理的效率和可靠性。 ... [详细]
  • Python3爬虫入门:pyspider的基本使用[python爬虫入门]
    Python学习网有大量免费的Python入门教程,欢迎大家来学习。本文主要通过爬取去哪儿网的旅游攻略来给大家介绍pyspid ... [详细]
  • ASP.NET 进度条实现详解
    本文介绍了如何在ASP.NET中使用HTML和JavaScript创建一个动态更新的进度条,并通过Default.aspx页面进行展示。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • CSS Border 属性:solid 边框的使用详解
    本文详细介绍了如何在CSS中使用solid边框属性,包括其基本语法、应用场景及高级技巧,适合初学者和进阶用户参考。 ... [详细]
  • 使用TabActivity实现Android顶部选项卡功能
    本文介绍如何通过继承TabActivity来创建Android应用中的顶部选项卡。通过简单的步骤,您可以轻松地添加多个选项卡,并实现基本的界面切换功能。 ... [详细]
  • Requests库的基本使用方法
    本文介绍了Python中Requests库的基础用法,包括如何安装、GET和POST请求的实现、如何处理Cookies和Headers,以及如何解析JSON响应。相比urllib库,Requests库提供了更为简洁高效的接口来处理HTTP请求。 ... [详细]
  • OBS Studio自动化实践:利用脚本批量生成录制场景
    本文探讨了如何利用OBS Studio进行高效录屏,并通过脚本实现场景的自动生成。适合对自动化办公感兴趣的读者。 ... [详细]
  • 入门指南:使用FastRPC技术连接Qualcomm Hexagon DSP
    本文旨在为初学者提供关于如何使用FastRPC技术连接Qualcomm Hexagon DSP的基础知识。FastRPC技术允许开发者在本地客户端实现远程调用,从而简化Hexagon DSP的开发和调试过程。 ... [详细]
  • 本文将从基础概念入手,详细探讨SpringMVC框架中DispatcherServlet如何通过HandlerMapping进行请求分发,以及其背后的源码实现细节。 ... [详细]
  • Spring框架中的面向切面编程(AOP)技术详解
    面向切面编程(AOP)是Spring框架中的关键技术之一,它通过将横切关注点从业务逻辑中分离出来,实现了代码的模块化和重用。AOP的核心思想是将程序运行过程中需要多次处理的功能(如日志记录、事务管理等)封装成独立的模块,即切面,并在特定的连接点(如方法调用)动态地应用这些切面。这种方式不仅提高了代码的可维护性和可读性,还简化了业务逻辑的实现。Spring AOP利用代理机制,在不修改原有代码的基础上,实现了对目标对象的增强。 ... [详细]
  • 在处理 GridView 中的行记录时,有时需要动态地添加或删除行,而无需对数据库中的实际数据进行任何更改。本文介绍了如何实现这一功能,确保操作仅限于前端展示层面,而不影响后端数据库的完整性。通过这种方法,用户可以在不修改数据库记录的情况下,灵活地管理 GridView 中的数据展示。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
author-avatar
税绍彬_396
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有