我有一个应用程序在asp.netMVC和使用telerik网格显示记录。现在我的一个领域有一些大的文本约1000字符,由于文本是越来越纵向扩展和布局是不好看。是否有任何方法显示列中特定数量的字符,并在鼠标悬停时在工具提示中显示整个文本,或任何其他方法来显示完整的列文本。谢谢
bxpogfeg1#
对于ASP.NETMVC,当你使用TemplateColumn时,你可以完全控制网格中的列呈现。在这种情况下,你可以像这样处理长值:
<% Html.Telerik().Grid(Model) .Name("Grid") .Columns(columns => { columns.Template(c => { %> <span title="<%= c.FieldName %>"><%= c.FieldName.Elipsis(50) %></span> <% }); }) .Render(); %>
其中“Elipsis(int)”可能是您为String创建的扩展方法,用于将字符串截断为特定长度,然后添加“...”(注意:这显然将仅对服务器绑定起作用)。另一种选择是使用jQuery和Elipsis插件来定位元素并截断它们。如果使用Template列来为SPAN指定一个特定的类或ID,则可以轻松地使用jQuery选择器来应用Elipsis效果。下面是一个示例插件:http://www.electrictoolbox.com/ellipsis-html-css/您可以更进一步,使用Grid的CellAction事件(同样,用于服务器绑定),并选择性地应用jQuery效果。http://demos.telerik.com/aspnet-mvc/grid/customformatting
CellAction
vsnjm48y2#
在WinForms Telerik控件中,我已经实现了类似的功能。请在您的www.example.com Telerik控件中尝试一下asp.net。使用Max Length属性显示特定数量的文本,然后像这样使用它。
Max Length
private void yourGrid_ToolTipTextNeeded(object sender, Telerik.WinControls.ToolTipTextNeededEventArgs e) { GridDataCellElement cell = sender as GridDataCellElement; if (cell != null) { GridViewRowInfo rowInfo = cell.RowInfo; string columnHeaderName = CommonMethods.GetStringValue(rowInfo.Cells[cell.ColumnIndex].ColumnInfo.UniqueName.ToLower()); if (columnHeaderName.ToLower().Equals("usagetype")) { e.ToolTipText = CommonMethods.GetStringValue(cell.Value); } } }
让我检查一下您可以在哪些事件中执行此操作。
2izufjch3#
您也可以使用CSS3解决方案。你只需要应用到网格的TD。我现在使用的版本是带有Telerik网格的class .t-grid。一种解决方案是在样式表中添加CSS属性text-overflow,您将能够将其设置为省略号。
text-overflow
.t-grid td { white-space: nowrap; overflow: hidden; text-overflow: ellipsis }
它似乎与最新的IE,FF和Chrome一起工作。
jhiyze9q4#
我添加了一些样式参数沿着@帕特里克提到了这些参数。您可以试试这个
.t-grid td { border-style:solid; border-width:0; border-left-width:1px; vertical-align:middle; white-space:nowrap; line-height:1.6em; overflow:hidden; text-overflow:ellipsis }
我希望这会有所帮助。
4条答案
按热度按时间bxpogfeg1#
对于ASP.NETMVC,当你使用TemplateColumn时,你可以完全控制网格中的列呈现。在这种情况下,你可以像这样处理长值:
其中“Elipsis(int)”可能是您为String创建的扩展方法,用于将字符串截断为特定长度,然后添加“...”(注意:这显然将仅对服务器绑定起作用)。
另一种选择是使用jQuery和Elipsis插件来定位元素并截断它们。如果使用Template列来为SPAN指定一个特定的类或ID,则可以轻松地使用jQuery选择器来应用Elipsis效果。下面是一个示例插件:
http://www.electrictoolbox.com/ellipsis-html-css/
您可以更进一步,使用Grid的
CellAction
事件(同样,用于服务器绑定),并选择性地应用jQuery效果。http://demos.telerik.com/aspnet-mvc/grid/customformatting
vsnjm48y2#
在WinForms Telerik控件中,我已经实现了类似的功能。请在您的www.example.com Telerik控件中尝试一下asp.net。
使用
Max Length
属性显示特定数量的文本,然后像这样使用它。让我检查一下您可以在哪些事件中执行此操作。
2izufjch3#
您也可以使用CSS3解决方案。
你只需要应用到网格的TD。我现在使用的版本是带有Telerik网格的class .t-grid。
一种解决方案是在样式表中添加CSS属性
text-overflow
,您将能够将其设置为省略号。它似乎与最新的IE,FF和Chrome一起工作。
jhiyze9q4#
我添加了一些样式参数沿着@帕特里克提到了这些参数。您可以试试这个
我希望这会有所帮助。