如何让一个页面上的多个GridViews共享相同的列宽?
我有四个GridViews,每个都有(本质上)相同的列。它们具有唯一的标头,并表示来自不同查询的数据。我希望通过允许根据数据动态调整列的大小来最大化可读性,但我不希望每个GridView都独立完成这项工作。将同名的列放在不同宽度的列之上看起来非常草率。相反,希望所有四个GridViews都为第一列选择相同的大小,为第二列选择相同的大小,依此类推。
在windows应用程序中,我相信有一个叫做SharedSizeGroup的属性,它允许你设置来自不同控件的列,以便在决定最佳大小时进行协作。
这在ASP.NET中完全可以实现吗?这是不是要求太多了,因为动态列宽取决于浏览器?
谢谢
发布于 2010-03-11 06:14:15
是不是要求太多了,因为动态列宽取决于浏览器?
差不多吧。除非您明确地设置了列宽,否则浏览器会选择,因此ASP.NET不知道它。不过,您可能可以使用一些jQuery来进行补偿:
$(function() {
var maxWidth = 0;
$('TBODY TR:first TD.col1').each(function() {
maxWidth = $(this).width > maxWidth ? $(this).width : maxWidth;
});
$('TBODY TR:first TD.col1').width(maxWidth);
});
发布于 2010-03-11 05:02:32
我很确定你只能自己设置宽度。我不认为他们是一个可以让你做你想做的事情的选项。
如果使用asp:TemplateFields,asp:BoundFields,等来形成字段,则可以使用ItemStyle-Width="100px“来设置每列的宽度
https://stackoverflow.com/questions/2420513
复制相似问题