我想在BoundField控件中添加一个属性,它将改变渲染,如下图所示。
<td>My Bound Text></td>
应该成为
<td><span>My Bound Text</span></td>
到目前为止,这就是我所有的......
Public Class BoundField
Inherits System.Web.UI.WebControls.BoundField
Dim _ellipse As Boolean
Public Property Ellipse() As Boolean
Get
Return _ellipse
End Get
Set(value As Boolean)
_ellipse = value
End Set
End Property
End Class
我澄清了我的目标......我和这张海报有同样的问题,但是我使用的是.net gridview,并希望渲染我的html以使用此处提供的修复。
Using CSS to create table cells of a specific width with no word wrapping
编辑我想我可能会认为这一切都错了,也许你不会通过扩展BoundField来改变渲染,而是将属性添加到boundfield然后改变gridview呈现的方式它的字段基于这些字段的属性。
这也让我走上了控制适配器的道路,如果有人能够证实或使这种怀疑无效,我将不胜感激。
答案 0 :(得分:1)
不是我开始寻找的解决方案,但它确实起到了作用。注意我仍然扩展绑定字段以添加椭圆属性,如上所示。另外,我扩展了gridview以覆盖OnRowBound事件,如下所示。
Protected Overrides Sub OnRowDataBound(ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs)
For i As Integer = 0 To MyBase.Columns.Count - 1
If CType(MyBase.Columns(i), BoundField).Ellipse = True Then
e.Row.Cells(i).Text = "<div class=""ellipsis"">" & e.Row.Cells(i).Text & "</div>"
End If
Next
End Sub
我仍然愿意接受更好的实施,但我现在要继续这样做,所以我可以继续前进。