本人最近在开发一个B/S结构的管理系统,其中要使用到大量的表格。借助Infragistics UltraWebGrid控件的强大功能,结合Ajax技术,可以使该系统尽量接近C/S。但也有一些问题是WebGrid没有办法解决的,如在客户端输入是实现自动换行的功能。经过在js设置断点调试对UltraWebGrid生成后的HTML代码进行分析,发现这个控件也只不过是由一些div和table等标准的HTML标签组成的。只要通过js代码修改这些标签的一些属性就可以实现换行的功能了,方法参照如下:
首先要设置WebGrid的行属性,具体设置如下:
DisplayLayout -> RowStyleDefault -> Wrap:True
然后在WebGrid客户端初始化事件中加入如下代码:
function UtrWebGrid_ClearPlan_InitializeLayoutHandler(gridName){
var _webGridClearPlan = igtbl_getGridById(gridName);
//使WebGrid支持换行
document.getElementById(gridName+"_div").style.overflow = "visible";
_webGridClearPlan.MainGrid.style.height = null;
_webGridClearPlan.MainGrid.style.overflow = "visible";
_webGridClearPlan.Element.style.wordWrap = "break-word";
}
贴出效果图: