我之前曾问过问题,在冻结gridview中的标题期间要正确设置标题宽度和列,通过使用这些解决方案,我发现分辨率有些问题,所以我在设计本身中添加了所有列。但是当列的文本长度较大时,我仍然面临问题。
我试图通过使用此链接中给出的代码冻结Gridview的标题
它可以工作,但问题是将Gridview固定为完整的页面大小宽度。也就是说,Gridview应该在浏览器中全屏显示。如果列的内容很小,它将正常工作。但是,如果列的长度值较大,则数据在一个单元格内需要大约2或3行。在这种情况下,网格标题宽度和列宽度设置不均,看起来很奇怪。我尝试将HeaderStyle-Width和ItemStyle-Width与%vales一起使用。我没有在脚本中进行任何更改。但这没有帮助。所以我试图通过为每列指定HeaderStyle-Width和ItemStyle-Width来解决此问题。然后工作正常。但是这里我面临另一个问题。那是由于固定的宽度,网格将不会显示全屏。对于高分辨率显示网格,仅显示约75%的屏幕宽度。
那么如何解决。我希望网格显示为全屏,并且列和标题应正确对齐。
如果您不介意使用一个小jquery插件,则可以节省您的时间。我知道我以前曾使用一个CSS表达式和javascript解决方案在互联网上尝试过所有建议,这是我较早的项目之一,但它总是会在一个或其他浏览器中中断,并且标题列宽度和行列宽度可能无法与动态对齐数据长度。
链接到完成此工作的GridViewScroll Demo。
这是我在应用程序中使用它的方式,它可以完美运行。对于类似的问题,请参阅我关于SO的另一个答案。
<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
}
});
}
屏幕上显示冻结的网格标题在我的应用程序中的外观。如果行数据很长,则可以冻结表格的某些列。从图像中,显示为灰色的列是在我的应用程序中冻结的列。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句