当前位置:编程学习 > C#/ASP.NET >>

怎么设置GridView控件的行高

运行时行高很宽,在哪里设置行高啊,我没有找到。 --------------------编程问答-------------------- 通过CSS控制 --------------------编程问答-------------------- 1楼,能否给个简单示例,例如行宽20怎么设? --------------------编程问答-------------------- 在<asp:GridView id="sa" runat="Server" width="20px"></asp:GridView>就能设置行高了 --------------------编程问答-------------------- 3楼,你说错了,按照你的意思,应该设置Height。
但即便设置了Height为20,运行时行高还是很宽! --------------------编程问答-------------------- 时行高还是很宽????你是设置行高还是行宽. --------------------编程问答-------------------- 行高 --------------------编程问答-------------------- 行宽是什么呢? --------------------编程问答-------------------- <asp:GridView ID="GridView1" runat="server" CellPadding="0" ForeColor="#333333" GridLines="None">
把CellPadding设置小点
CellPadding="0"
<RowStyle BackColor="#F7F6F3" ForeColor="#333333"  Height="6px"/>里面的height也设置下就好了。 --------------------编程问答-------------------- 楼上说的对

===================================================================
中国DotNet程序员俱乐部 -- www.willsft.com 

-- 中国最专业的DotNet技术社区!

技术支持群:3354034、34857327 、24694039、
19055417、35202852、2684939、1621937、35112134 
=================================================================== --------------------编程问答-------------------- To antiking(Q狼E行-吹雪留香一点红,孤城寻欢花满楼):
不行啊,我测试了好多次了,是不是还有什么地方要改的? --------------------编程问答-------------------- 没有了,就是rowstyle的height属性,如果隔行交替显示要不同,同时还要设置
AlternatingRowStyle的height属性,如果没有设置,AlternatingRowStyle会沿用rowstyle的对应属性设置 --------------------编程问答-------------------- 还是不行啊。晕!
谁能帮我测试一下?解决后我可以再加分! --------------------编程问答-------------------- <asp:GridView ID="GridView1" runat="server" CellPadding="0" ForeColor="#333333" cellspacing="0" GridLines="None">

再加一个cellspacing="0"试试
估计就是它了! --------------------编程问答-------------------- 例如你有个列叫name

设置这列高度为200px的写法如下:

                <asp:BoundField DataField="name" >
                    <ItemStyle Height="200px" />
                </asp:BoundField>
--------------------编程问答-------------------- 如果是行宽也是在这里设置

                <asp:BoundField DataField="name" >
                    <ItemStyle Height="200px" Width="200px" />
                </asp:BoundField> --------------------编程问答-------------------- <asp:BoundField>
<ItemStyle Height="20px" />
                            </asp:BoundField> --------------------编程问答-------------------- 在RowStyle 中设置高度

<RowStyle BorderColor="Black" BorderStyle="Solid" Height="2.2em" VerticalAlign="Top" HorizontalAlign="Left" />

--------------------编程问答-------------------- 谢谢以上几位,
我的GridView是用SqlDataSource1绑定的。
你们说的BoundField是添加的列啊 --------------------编程问答-------------------- 所以你们说的还是行不通 --------------------编程问答-------------------- 我已给帖子加到了50分,有没有哪位高手能解决啊? --------------------编程问答-------------------- http://user.qzone.qq.com/23539277/blog/1205808766
真正的解决办法. --------------------编程问答-------------------- 给你说一个不是很好的方法
你的意思就是某一行的内容太多,从而把GridView对应的行给冲高了是吧
你用SqlDataSource1帮定的话,你从新设置一下它的查询语句
比如:
Select id,substring(name,10) as name,sex,age from usertb


substring(字段名,长度)
试一下,不是很好 --------------------编程问答-------------------- GridView的行高可以自动设置即可,不要手动设置,不然高度会变化。(删除GridView所有height的属性设置即可) --------------------编程问答-------------------- 晕,你指的是不是自动换行的问题啊 CSS里可以设置,好像有个auto break属性的,具体忘了,你查一下 --------------------编程问答--------------------
引用 3 楼 wzhh598 的回复:
在 <asp:GridView   id= "sa "   runat= "Server "   width= "20px "> </asp:GridView> 就能设置行高了

width="20px" 能设置行高?
行高一般不用手动设置,若需要可以写一样式引用 --------------------编程问答-------------------- 到底是行高还是行宽 
如果你内容多了肯定会把表格撑开 当然就高了
你可以截取指定长度的字符串显示 就不会撑开表格了 --------------------编程问答-------------------- ; --------------------编程问答-------------------- 这个刚好我也碰到了,是由于外界的table 设置的 css 高度改变其行高导致的,只供参考 --------------------编程问答-------------------- 同意17楼 --------------------编程问答-------------------- <asp:GridView ID="gvList" runat="server">
                    <Columns>
                        <asp:BoundField DataField="name">
                            <ItemStyle Height="20px" />
                        </asp:BoundField>
                    </Columns>
                </asp:GridView>
用这种设置方式看看 --------------------编程问答--------------------

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>无标题页</title>
    <style type="text/css">
.gvinfo
{
   line-height:20px;
}
</head>

</style>
<body>
    <form id="form1" runat="server">          
        <asp:GridView ID="gvInfo" CssClass="gvinfo" runat="server">
        </asp:GridView>
    </form>
</body> 
</html>


--------------------编程问答-------------------- 。绑定数据OK。 --------------------编程问答--------------------         <asp:GridView ID="Row" CssClass="Row" runat="server" Style="position: relative; text-align:center" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="None"> 红色地方是设置行高的,试下吧 --------------------编程问答-------------------- 我怎么觉得楼上几位说的云山雾罩的,
我在项目里是这样处理的:
1、首先在gridview里:

<HeaderStyle CssClass="HeaderStyle" />
<SelectedRowStyle CssClass="SelectedRowStyle" />
<RowStyle CssClass="RowStyle" />



2、css:

.RowStyle td,.SelectedRowStyle td, .HeaderStyle th{
    height:20px;
    line-height:20px;   
    }


3、如果还有footerStyle同样方法

4、如果你想所有的表格单元都高度相同
那么干脆

td{
   height:20px;
    line-height:20px; 
   }

--------------------编程问答-------------------- 以上是我项目中的代码部分截取
其实,楼主你可以先把<HeaderStyle CssClass="HeaderStyle" />
<SelectedRowStyle CssClass="SelectedRowStyle" />
<RowStyle CssClass="RowStyle" />
这些定义好,不要先急着写css,
把页面运行起来,看看html源代码,就知道怎么处理了
单元格虽然是动态加载的,但是
你可以通过css叠加选择符来处理设计时刻还不存在的html元素 --------------------编程问答-------------------- mark --------------------编程问答--------------------  <asp:GridView id="GridView1" runat="server" Width="649px" AutoGenerateColumns="False" Height="208px"><Columns>
</Columns>
--------------------编程问答-------------------- 31楼正解 --------------------编程问答-------------------- 同意31楼。 --------------------编程问答-------------------- 8楼正解 

<asp:GridView ID="GridView1" runat="server">
            <RowStyle Height="20px" />
        </asp:GridView> --------------------编程问答--------------------   <asp:GridView ID="GridView1" runat="server">
  <RowStyle Height="20px" />
  </asp:GridView> --------------------编程问答-------------------- 能学到好多东西啊  谢谢了 --------------------编程问答-------------------- 在GridView属性中设置一下RowStyle中的Height属性即可 --------------------编程问答-------------------- 呵呵,一般那样是你自己把原来自动生成的GridView拉高了,数据不满的时候就显得宽了很多,满的时候又正常点,所以还是忘小的拉下,实在不行就从新拉重新绑 --------------------编程问答-------------------- 定义样式(仅供参考):

table.data
{
padding:0px;
border:1px solid #dddddd;
margin:10px 0px 10px 0px;
border-collapse:collapse;
border-spacing:0px;
text-align:center;
}
table.data th
{
background:url(../Images/background/bg_data_th.gif);
background-repeat:repeat-x;
height:23px;
margin:0;
padding:0;
}
table.data tbody
{
}
table.data tbody tr
{
height:25px;
}
table.data tbody td
{
border-bottom:solid 1px #dddddd;
text-indent:2px;
}


在后台中装载样式:
this.GridView1.Attributes.Add("class", "data");


我一般是这样做的,不用在设计视图中调来调去的
感觉唯一不好的地方就是:运行前看不到效果(不过你可以随便弄个html的table看下效果先)
--------------------编程问答-------------------- <asp:GridView runat="server" Width="100%" RowStyle-Height="20" HeaderStyle-Height="28"
 AutoGenerateColumns="False" HeaderStyle-BackColor="#4EA7DF" Font-Size="12px" 
 RowStyle-HorizontalAlign="Center"></asp:GridView> --------------------编程问答--------------------
引用 45 楼 yuxh81 的回复:
定义样式(仅供参考):

CSS code

table.data
{
    padding:0px;
    border:1px solid #dddddd;
    margin:10px 0px 10px 0px;
    border-collapse:collapse;
    border-spacing:0px;    
    text-align:cen……

顶楼上 --------------------编程问答-------------------- 写个table样式 就搞定了  --------------------编程问答-------------------- 调到设计界面在直接进行拖动  把整个状态拖动的宽一点行的高度就会小一点
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,