C# 具有固定页眉和全页面宽度网格的Gridview

C# 具有固定页眉和全页面宽度网格的Gridview,c#,html,css,asp.net,gridview,C#,Html,Css,Asp.net,Gridview,我以前问过这个问题 通过使用这些解决方案,我发现分辨率存在一些问题,所以我在设计本身中添加了所有列。但当列具有较大长度的文本时,我仍然面临问题 我试图使用本文给出的代码冻结Gridview的标题 它可以工作,但问题是将Gridview固定为全页面大小宽度。也就是说,Gridview应该在浏览器中全屏显示。如果列的内容很小,则它可以正常工作。但是,如果一个列的长度值很大,那么数据在一个单元格中需要大约2或3行。在这种情况下,网格标题宽度和列宽度设置不相等,看起来很奇怪。 我尝试将HeaderSty

我以前问过这个问题 通过使用这些解决方案,我发现分辨率存在一些问题,所以我在设计本身中添加了所有列。但当列具有较大长度的文本时,我仍然面临问题

我试图使用本文给出的代码冻结Gridview的标题

它可以工作,但问题是将Gridview固定为全页面大小宽度。也就是说,Gridview应该在浏览器中全屏显示。如果列的内容很小,则它可以正常工作。但是,如果一个列的长度值很大,那么数据在一个单元格中需要大约2或3行。在这种情况下,网格标题宽度和列宽度设置不相等,看起来很奇怪。 我尝试将HeaderStyle Width和ItemStyle Width与%vales一起使用。我没有在脚本中更改任何内容。但这没用。 所以我试图通过为每列指定HeaderStyle宽度和ItemStyle宽度来解决这个问题。 那么它工作得很好。但这里我面临另一个问题。这是由于固定宽度,网格不会全屏显示。对于高分辨率显示,网格仅显示屏幕宽度的75%


那么,如何解决这个问题呢。我希望网格全屏显示,列和标题应该正确对齐。

如果您不介意使用一个小jquery插件,那么它可能会节省您的时间。我知道我曾经尝试过在互联网上使用css表达式和javascript解决方案为我早期的一个项目提供所有建议,但它总是在一个或其他浏览器中中断,并且标题列宽和行列宽可能不符合动态数据长度

链接到GridViewScroll,可以完美完成此工作

下面是我如何在我的应用程序中使用它的,它工作得非常完美。关于类似的问题,请参阅我的另一篇文章

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/jquery-ui.min.js"></script>
<script type="text/javascript" src="gridviewScroll.min.js"></script>
<link href="GridviewScroll.css" rel="stylesheet" />

function pageLoad(sender, args) {
   gridviewScroll ();
}

function gridviewScroll() {
   gridView1 = $('#GridView1').gridviewScroll({
        width: 915,
        height: 449,
        railcolor: "#F0F0F0",
        barcolor: "#CDCDCD",
        barhovercolor: "#606060",
        bgcolor: "#F0F0F0",
        freezesize: 5,
        arrowsize: 30,
        varrowtopimg: "../../../images/arrowvt.png",
        varrowbottomimg: "../../../images/arrowvb.png",
        harrowleftimg: "../../../images/arrowhl.png",
        harrowrightimg: "../../../images/arrowhr.png",
        headerrowcount: 1,
        onScrollVertical: function (delta) {
         // store the scroll offset outside of this function in a hidden field and restore if you want to maintain vertical scroll position
        },
        onScrollHorizontal: function (delta) {
          //store the scroll offset outside of this function in a hidden field and restore if you want to maintain horizontal scroll position
        }
    });
}

函数页面加载(发送方,参数){
gridviewScroll();
}
函数gridviewScroll(){
gridView1=$('#gridView1')。gridviewScroll({
宽度:915,
身高:449,
railcolor:#f0,
barcolor:#CDCDCD“,
barhovercolor:#606060“,
bgcolor:#f0,
尺寸:5,
箭头尺寸:30,
varrowtopimg:“../../../images/arrowvt.png”,
varrowbottomimg:“../../../images/arrowvb.png”,
harrowleftimg:“../../../images/arrowhl.png”,
harrowrightimg:“../../../images/arrowhr.png”,
总人数:1,
onScrollVertical:函数(增量){
//将此功能之外的滚动偏移量存储在隐藏字段中,如果要保持垂直滚动位置,请恢复
},
onScrollHorizontal:函数(增量){
//如果要保持水平滚动位置,请将此功能之外的滚动偏移量存储在隐藏字段中并还原
}
});
}
以及屏幕打印,显示冻结的网格头在我的应用程序中的外观。如果有很长的行数据,可以冻结网格的某些列。从图像中,灰显的列是在我的应用程序中冻结的列


但我希望网格以全屏宽度显示。如何实现这一目标?此外,我不想要水平滚动条。该列应固定在屏幕宽度内。如果列中的文本长度较大,则应再增加2或3行(换行),但不应增加列宽并使水平滚动条出现。我无法使用您的解决方案来执行此操作。在我的情况下,大多数列值的长度都不同。@IT Research,如果您想要全屏显示,请不要指定js中所示的宽度参数值或给出更大的编号。您可以控制样式并为gridview中的每个模板字段指定宽度。我相信你可以调整这个来适应你的情况。如果网格宽度小于页面大小,则可以防止水平滚动。如果未指定宽度,则由于文本长度较大,列和标题无法正确对齐。谢谢。我可以做到。通过修改链接中提到的“单元格换行”逻辑u,然后我使用window.width并设置网格宽度。然后对于某些列,我使用了固定宽度,使用itemstyle width和headerstyle width,其中我知道将有固定长度的字符串。对于其他列,我没有指定宽度,它将在所有分辨率中正确显示。但是$(window).height()不起作用。如果我将网格高度设置为window.height,则会得到页面滚动条。我在那个页面上有一个文本标签,所以我使用了“window.height-height of the label”,但它仍然存在问题。有什么想法吗?@ITresearcher,只有当绑定到网格的数据超过为网格设置的高度时,才会出现垂直滚动。你的情况有点不对劲。尝试另一种方式
窗口。该标签的高度+高度
,或者为
高度
属性指定更大的绝对否,直到您无法获得滚动条为止。您可能需要发布您的代码,以便我可以建议可能的解决方案。