GridView在生成HTML代码的时候会自动加上style="border-collapse:collapse;"以及border=1,rules="all"这些属性,这些在IE下都没什么影响,但是在FF下就会影响显示,style="border-collapse:collapse;";是由于设置了CellSpacing="0"产生的,当设置CellSpacing="1"后就没有,可以去掉style="border-collapse:collapse;";默认情况下CellSpacing="0",所以默认情况下会有style="border-collapse:collapse;"这个属性生成。GridLines="Both"会带来border=1,rules=all这两个属性,设置GridLines="None"后border=0,rules属性则不会出现。

MS默认的GridView生成HTML代码的方式本身就没有去兼容各种浏览器,只是特别照顾了自己的IE,其实MS已经给出了解决办法,那就是自己定义控件如何生成HTML代码,CSS控件适配器工具包新版发布 介绍如何配置自己的浏览器定义文件。

如何设置GridView让它在IE和FF下都能正常显示呢?下面会进行说明。

1.单元格都有边框线,效果如下:

<asp:GridViewID="GridView1" runat="server" CellPadding="3"GridLines="None" BackColor="Black"CellSpacing="1">

<FooterStyleBackColor="#C6C3C6" ForeColor="Black" />

<RowStyleBackColor="#ECF5FF" ForeColor="Black" />

<SelectedRowStyleBackColor="#9471DE" Font-Bold="True"ForeColor="White" />

<PagerStyleBackColor="#C6C3C6" ForeColor="Black"HorizontalAlign="Right" />

<HeaderStyleBackColor="#A6CBEF" Font-Bold="True"ForeColor="#404040" BorderColor="#A6CBEF" />

</asp:GridView>

说明:GridLines="ALL",CellSpacing="0"是造成FF和IE下显示不同的一个很大的原因;其实不进行设置border也是可以达到单元格表现出边框的样式。CellSpacing="1"就控制了单元格之间的间隔是1px,通过设置table的背景和tr的背景来表现出单元格td的border,实际上td的border为0,这个看起来很像的border是table的背景,tr的背景仅仅是改变了td的背景,td之间的space则是根据table的背景显示的,这就是CellSpacing="1"带来的border效果。这样在IE和FF下都能正常显示了。

2.只有横线,没有竖线的效果:

GridView样式如下设置:需要借助额外的css,Gridview自带的类似样式不兼容FF

<styletype="text/css">

.table{border:solid 1px black}

.table th{border-bottom:solid 1px black;}

.table td{border-bottom:solid 1px black;}

</style>

<asp:GridViewID="GridView1" CssClass="table" runat="server"CellPadding="3" GridLines="None"BackColor="#ECF5FF" CellSpacing="0">

<FooterStyleBackColor="#C6C3C6" ForeColor="Black" />

<RowStyleBackColor="#ECF5FF" ForeColor="Black" />

<SelectedRowStyleBackColor="#9471DE" Font-Bold="True"ForeColor="White" />

<PagerStyleBackColor="#C6C3C6" ForeColor="Black"HorizontalAlign="Right" />

<HeaderStyleBackColor="#A6CBEF" Font-Bold="True"ForeColor="#404040" BorderColor="#A6CBEF" />

</asp:GridView>

3.只有竖线的效果:

更改上面的<styletype="text/css">

.table{border:solid 1px black}

.table th{border-right:solid 1px black;}

.table td{border-right:solid 1px black;}

</style>即可。

更改table样式为:

table{border:solid1px black}

.table th{border:solid 1px black;}

.table td{border:solid 1px black;}

可以实现第一种的显示效果,这才是真的

用CSS解决asp.net中Gridview边框样式问题

html标签中的bordercolor属性指定表格边框颜色之后,无论是表格的四个边框还是表格内部的单元格

边框颜色便都设置好了.但是在asp.net的gridview控件中,设置bordercolor之后,在生成的html代码

中是这样表示的:

<tableclass="gridview_m" cellspacing="0" rules="all"border="1" id="ctl00_Content_GV_1"

style="border-color:#93C2F1;border-collapse:collapse;">

原来gridview中设置的bordercolor属性是css中的属性,其结果就是gridview的四个边框的颜色变了,

但是内部单元格的颜色却是灰色,而不是你指定的颜色.

网上有不少朋友讨论过这个问题,有一种解决方法是用代码给gridview添加真正的bordercolor属性

例如:

this.GridView1.Attributes.Add("bordercolor","red");

这样的缺点是不太灵活,如果需要用主题来控制界面样式

而代码中又有这样的语句的话,就不是很合适

利用css提供的机制,可以比较好的解决这个问题

举个例子

在主题中,将gridview的cssclass设置为gridview_m

<asp:GridViewrunat="server" CssClass="gridview_m" >

<HeaderStyleCssClass="girdview_head" />

<RowStyleCssClass="gridview_row" />

<PagerStyleHorizontalAlign="Center" />

</asp:GridView>

然后在css样式表中设置:

table.gridview_m

{

border-collapse:collapse;

border:solid1px #93c2f1;

width:98%;

font-size:10pt;

}

table.gridview_mtd,th

{

border-collapse:collapse;

border:solid1px #93c2f1;

font-size:10pt;

}

以上css样式中还有其他样式,主要就是这一句:table.gridview_mtd,th

将会给class="gridview"的table中的th和td标签应用样式

这样就解决了gridview的边框问题

在gridview中实现隔行样式转换的方法

protectedvoid GridView1_RowDataBound(object sender, GridViewRowEventArgs e)

{

//我们先设置当鼠标上去的时候他的背景色改变

e.Row.Attributes.Add("onmouseover","c=this.style.backgroundColor;this.style.backgroundColor='#ff6699'");

//下面我们再设置当鼠标离开后背景色再还原

e.Row.Attributes.Add("onmouseout","this.style.backgroundColor=c;");

/为特定的数改变行样式这也是在这个事件里面,因为这个事件是在数据被绑定的时候执行的

for (int i = 0; i < GridView1.Rows.Count;i++)

{

//为了对全部数据行都有用,我们使用循环             //

stringlbl = Convert.ToString(DataBinder.eval_r(e.Row.DataItem,"state"));

//我们得取出行中state字段绑定的值,用他作为判断条件             //

if(lbl == "BB")             if(e.Row.RowIndex % 2 == 1)

{

//如果他的值等于BB,那么

e.Row.BackColor= Color.LimeGreen;

//给当前行的背景色赋值

}

}

}

GridView样式设置相关推荐

  1. DevExpress导出Excel样式设置

    /// <summary>/// 导出到Excel/// </summary>/// <param name="gridControl">Gri ...

  2. asp.net 2.0 中GridView里设置日期格式

    在asp.net 1.0 中的datagrid 中 设置日期字段格式时用 DataFormatString="{0:yyyy-MM-dd}"即可.    在gridview 中设置 ...

  3. placeholder的样式设置

    在input框中有时想将输入的字和placeholder设为不同的颜色或其它效果,这时就可以用以下代码来对placeholder进行样式设置了. input::-webkit-input-placeh ...

  4. SVG基本形状及样式设置

    前面的话 图形分为位图和矢量图.位图是基于颜色的描述,是由像素点组成的图像:而矢量图是基于数学矢量的描述,是由几何图元组成的图像,与分辨率无关.可缩放矢量图形,即SVG,是W3C XML的分支语言之一 ...

  5. 在GridView中设置每个单元格的数据

    在GridView中设置每个单元格的数据 今天做后台开发时,需要实现一个需求是在GridView渲染出来的显示数据的表格中增加一列数据:状态列.增加一列数据是比较简单的,但是,状态的表示在数据库中使用 ...

  6. Qt Creator指定代码样式设置

    Qt Creator指定代码样式设置 指定代码样式设置 指定代码样式设置 Qt Creator使用文件的MIME类型来确定用于打开文件的模式和编辑器.Qt Creator在C ++代码编辑器中以&qu ...

  7. Pandas 表格样式设置指南,看这一篇就够了!

    源自/Python数据之道 最近这些年,Python在数据分析以及人工智能领域是越来越火. 这离不开pandas.numpy.sklearn.TensorFlow.PyTorch等数据科学包,尤其是 ...

  8. 滚动条颜色样式设置 说明

    方案一: css样式详细介绍,网页滚动条样式设置 各条语句含义如下: Crollbar-Face-color:滚动条页面颜色设定: Scrollbar-Highlight-Color:滚动条斜面和左面 ...

  9. css 修改placeholder颜色 , placeholder的样式设置

    在input框中有时想将输入的字和placeholder设为不同的颜色或其它效果,这时就可以用以下代码来对placeholder进行样式设置了. ::-webkit-input-placeholder ...

  10. 元素的样式设置 元素类样式的操作 开关灯效果 获取兄弟元素 当前元素的兄弟元素样式

    元素的样式设置 <!DOCTYPE html> <html lang="en"> <head><meta charset="UT ...

最新文章

  1. 基于ADuC845的数据采集板
  2. php加载外部html,VUE页面加载外部HTML实例详解
  3. Flatten Binary Tree to Linked List - LeetCode
  4. 用new关键字对一个String 变量赋值和用literal值直接赋值有什么不同(转)
  5. oracle账户解锁28000,oracle 下载 账号密码ORA-28000账户被锁和解锁
  6. 委外订单_ERP软件教程:金蝶ERP的委外加工业务流程(一)
  7. 《帝友 P2P 网络借贷系统》
  8. 卧龙吟游戏服务器不显示,卧龙吟你必须知道的隐藏特性
  9. oracle crc32函数,CSS_ORACLE中实现CRC32的计算函数,SOLARIS平台,声明:这是我07年的一个偶然 - phpStudy...
  10. potplayer播放器的下载与截图配置
  11. 数据结构笔记(十九)-- 二叉树性质
  12. IT行业都能干什么事?为什么要学习IT技能呢?
  13. python爬取京东商品_Python爬取京东的商品分类与链接
  14. BeetlSQL 注解
  15. 在IntelliJ下如何做parameterize method的重构
  16. 爬取分析拉勾网招聘信息
  17. workerman wss 配置备忘录
  18. phalApi框架打印SQL语句
  19. win7无法打开无线网络服务器,笔记本win7系统无线网络连接受限制或无连接的解决方法...
  20. Linux高性能集群(AMD处理器)Linpack测试方法

热门文章

  1. 软件测试——白盒测试
  2. 可怕的pyspider猫途鹰
  3. turtle库的精讲
  4. pygame安装超详细讲解
  5. tensorflow pb ckpt pbtxt
  6. Invest授粉模型问题求助
  7. 自定义TextView属性和设置TextView属性
  8. Typora 中文字体深度修改
  9. TensorFlow infogan 生成 mnist 数据集
  10. freemarker面试_SpringBoot基础面试题