c# - 在客户端获取 RadGrid 的列宽

标签 c# javascript jquery client-side radgrid

RadGrid 的东西简直就是一场噩梦,但我想我已经快到了。

我正在尝试 chop 太长的文本并添加省略号...

棘手的部分是用户可以选择他们想要显示/隐藏哪些列,因此列的大小将取决于显示的列数。我的想法是获取列的当前宽度,并根据该宽度确定单元格中允许有多少个字符。

如果没有明确设置,我似乎无法获取服务器端的宽度。这可以在客户端完成吗?

我已经这样做了,但宽度仍然是空白:

var grid = $find("<%= rgResults.ClientID %>");
var mtv = grid.get_masterTableView();
var columns = mtv.get_columns();
for (var i = 0; i < columns.length; i++) {
var element = columns[i].get_element();
    alert(element.width);
}

最佳答案

您需要使用 clientWidth 属性,而不仅仅是 width:

var grid = $find("<%= rgResults.ClientID %>");
var mtv = grid.get_masterTableView();
var columns = mtv.get_columns();
for (var i = 0; i < columns.length; i++) {
    var element = columns[i].get_element();
    alert(element.clientWidth);
}

关于c# - 在客户端获取 RadGrid 的列宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24768300/

相关文章:

c# - 如何根据数据行计数从代码后面将css类添加到 'hyperlink'内部的 'Repeater control'

c# - 检测对象是否为 ValueTuple

javascript - 使用 javascript 进行登录验证

javascript - jQuery .load() 不适用于新创建的 DOM div 元素

javascript - 以 formatCurrency 取消货币全局化

javascript - 无限的 Google Places 实例

c# - 如何修复 "namespace x already contains a definition for x"错误?转换为VS2010后发生

c# - 如何在 NetworkManager (Unity C#) 中设置客户端 GameObject 的变量?

javascript - 状态不改回来

javascript - 使用 JavaScript 从本地文件读取和修改 HTML