<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Data" %><Script Runat="Server">Sub Page_Load
If Not IsPostBack Then
BindDataGrid( "title" )
End If
End Sub
Sub BindDataGrid( strSortField As String )
Dim conPubs As SqlConnection
Dim cmdSelect As SqlCommand
Dim dadTitles As SqlDataAdapter
Dim dstTitles As DataSet
dim Sql as string
conPubs = New SqlConnection( "Server=localhost;UID=sa;PWD=secret;Database=Pubs" )
Sql="Select * From T1 Order by " & strsortField
dadTitles = New SqlDataAdapter(Sql, conPubs )
dstTitles = New DataSet
dadTitles.Fill( dstTitles )
dgrdTitles.DataSource = dstTitles
dgrdTitles.DataBind()
conPubs.Close()
End SubSub dgrdTitles_SortCommand( s As Object, e As DataGridSortCommandEventArgs )
BindDataGrid( e.SortExpression )
End Sub</Script><html>
<head><title>DataGridSort.aspx</title></head>
<body>
<form Runat="Server"><asp:DataGrid ID="dgrdTitles"
AllowSorting="True"
AutoGenerateColumns ="False"
OnSortCommand="dgrdTitles_SortCommand"
Runat="Server" >
<Columns>
<asp:BoundColumn ItemStyle-Height="22" DataField="Title_id" SortExpression="Title_id"
HeaderText="文章标题"
HeaderStyle-Font-Bold="True"></asp:BoundColumn>
</Columns></asp:DataGrid> </form>
</body>
</html>以上代码可以实现排序,运行正常
但是如果我需要动态的填加列就不行了,点击列头时连排序事件都不会触发,代码如下<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Data" %><Script Runat="Server">Sub Page_Load
Dim mBoundColumn As BoundColumn
dim fn as string
fn="title_id"
mBoundColumn = New BoundColumn
mBoundColumn.HeaderText = fn
mBoundColumn.DataField = fn
mBoundColumn.SortExpression = fn
dgrdTitles.Columns.Add(mBoundColumn) If Not IsPostBack Then
BindDataGrid( "title" )
End If
End Sub
Sub BindDataGrid( strSortField As String )
Dim conPubs As SqlConnection
Dim cmdSelect As SqlCommand
Dim dadTitles As SqlDataAdapter
Dim dstTitles As DataSet
dim Sql as string
conPubs = New SqlConnection( "Server=localhost;UID=sa;PWD=secret;Database=Pubs" )
Sql="Select * From T1 Order by " & strsortField
dadTitles = New SqlDataAdapter(Sql, conPubs )
dstTitles = New DataSet
dadTitles.Fill( dstTitles )
dgrdTitles.DataSource = dstTitles
dgrdTitles.DataBind()
conPubs.Close()
End SubSub dgrdTitles_SortCommand( s As Object, e As DataGridSortCommandEventArgs )
BindDataGrid( e.SortExpression )
End Sub</Script><html>
<head><title>DataGridSort.aspx</title></head>
<body>
<form Runat="Server"><asp:DataGrid ID="dgrdTitles"
AllowSorting="True"
AutoGenerateColumns ="False"
OnSortCommand="dgrdTitles_SortCommand"
Runat="Server" >
</asp:DataGrid> </form>
</body>
</html>
<%@ Import Namespace="System.Data" %><Script Runat="Server">Sub Page_Load
If Not IsPostBack Then
BindDataGrid( "title" )
End If
End Sub
Sub BindDataGrid( strSortField As String )
Dim conPubs As SqlConnection
Dim cmdSelect As SqlCommand
Dim dadTitles As SqlDataAdapter
Dim dstTitles As DataSet
dim Sql as string
conPubs = New SqlConnection( "Server=localhost;UID=sa;PWD=secret;Database=Pubs" )
Sql="Select * From T1 Order by " & strsortField
dadTitles = New SqlDataAdapter(Sql, conPubs )
dstTitles = New DataSet
dadTitles.Fill( dstTitles )
dgrdTitles.DataSource = dstTitles
dgrdTitles.DataBind()
conPubs.Close()
End SubSub dgrdTitles_SortCommand( s As Object, e As DataGridSortCommandEventArgs )
BindDataGrid( e.SortExpression )
End Sub</Script><html>
<head><title>DataGridSort.aspx</title></head>
<body>
<form Runat="Server"><asp:DataGrid ID="dgrdTitles"
AllowSorting="True"
AutoGenerateColumns ="False"
OnSortCommand="dgrdTitles_SortCommand"
Runat="Server" >
<Columns>
<asp:BoundColumn ItemStyle-Height="22" DataField="Title_id" SortExpression="Title_id"
HeaderText="文章标题"
HeaderStyle-Font-Bold="True"></asp:BoundColumn>
</Columns></asp:DataGrid> </form>
</body>
</html>以上代码可以实现排序,运行正常
但是如果我需要动态的填加列就不行了,点击列头时连排序事件都不会触发,代码如下<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Data" %><Script Runat="Server">Sub Page_Load
Dim mBoundColumn As BoundColumn
dim fn as string
fn="title_id"
mBoundColumn = New BoundColumn
mBoundColumn.HeaderText = fn
mBoundColumn.DataField = fn
mBoundColumn.SortExpression = fn
dgrdTitles.Columns.Add(mBoundColumn) If Not IsPostBack Then
BindDataGrid( "title" )
End If
End Sub
Sub BindDataGrid( strSortField As String )
Dim conPubs As SqlConnection
Dim cmdSelect As SqlCommand
Dim dadTitles As SqlDataAdapter
Dim dstTitles As DataSet
dim Sql as string
conPubs = New SqlConnection( "Server=localhost;UID=sa;PWD=secret;Database=Pubs" )
Sql="Select * From T1 Order by " & strsortField
dadTitles = New SqlDataAdapter(Sql, conPubs )
dstTitles = New DataSet
dadTitles.Fill( dstTitles )
dgrdTitles.DataSource = dstTitles
dgrdTitles.DataBind()
conPubs.Close()
End SubSub dgrdTitles_SortCommand( s As Object, e As DataGridSortCommandEventArgs )
BindDataGrid( e.SortExpression )
End Sub</Script><html>
<head><title>DataGridSort.aspx</title></head>
<body>
<form Runat="Server"><asp:DataGrid ID="dgrdTitles"
AllowSorting="True"
AutoGenerateColumns ="False"
OnSortCommand="dgrdTitles_SortCommand"
Runat="Server" >
</asp:DataGrid> </form>
</body>
</html>
解决方案 »
- 从datetable里选出数据
- 修复 Visual Studio 内置浏览器
- 进来就又分!!!
- 跪求动态修改静态html的某一框架
- ★★★求救如何在asp.net和短信平台之间通过http协议以post方式接收和发送Xml数据包?很着急,在线等,解决后马上给分.
- 关于BBS的问题??
- 如何在iframe里写代码使父页执行buttom_onclick事件。(就剩下50分了,帮帮我,要不我会死的!~)
- 200分求解如何实现一个完整的可控制用户权限的用户上传下载的问题!(100分另开贴!)
- 使用VS2003开发的站点,修改了数据库密码后居然无法访问?!
- ASP.NET 中的汉字乱码问题(十万火急)
- ASP.NET服务停止,100分
- javascript中如何取得label的值
100MB asp和 asp.net空间 50/1年
我看到了一个网站 100MB asp和 asp.net空间 现在促销,
同学们可以做一个简单的个人网站用来找工作 ,
支持 asp.net 一年才50元!不要错过哦!!!
速度非常快,一般公司企业 足够用了!
http://www.hi876.com
希望能对大家有帮助