SqlDataSource绑定到GridView时对数据库进行编程
SqlDataSource绑定到GridView时对数据库进行编程:
我用SqlDataSource得到一个数据源,然后绑定到Gridview上,可是我想对其中某一列编程,如何去实现,比如说,我数据库里面存储的男,女是用0,1来存储的,我想在输出到页面的时候用男女来显示,如何实现他,比如我文章的TITLE是20个字符,我现在想输出到
Gridview时只显示10个子,新手入门,很急,谢谢
------解决方案--------------------我假设你知道如何编程 取得和设置 Label控件的 Text属性:
1. 你要把这一列作为为模板列,例如模板中现在可以看到绑定 Label 控件 例如叫做 Label1。
2. 然后,在 RowDataBound 事件处理中,获得这个 Label 控件:
Label lb=(Label)e.Row.FindControl( "Label1 ");
3. 对这个 Label 控件重新设置 Text 值。
关于2. 可以参考:
http://www.google.cn/search?complete=1&hl=zh-CN&newwindow=1&rls=com.microsoft%3Aen-US&q=gridview+%28label%29e.row.findcontrol&meta=lr%3Dlang_zh-CN
------解决方案--------------------我写的一个VB的例子:
Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
Dim myTableCell As TableCell
Dim s As String
myTableCell = e.Row.Cells(1)
s = e.Row.Cells(1).Text
Dim MyHL As HyperLink = CType(myTableCell.Controls(0), HyperLink)
If MyHL.Text.Length > 50 Then '如果标题长度大于50,则截前50个,然后加上“...”
MyHL.Text = MyHL.Text.Substring(1, 50) & "... "
End If
myTableCell = e.Row.Cells(0) '给第一列加一张图片
Dim IM As New System.Web.UI.WebControls.Image
IM.ImageUrl = "sysImages/007_3.gif "
myTableCell.Controls.Add(IM)
End If