zoukankan      html  css  js  c++  java
  • Asp.Net1.1 DataGrid 双向排序

    前台代码
    1             <asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False" Width="496px" AllowSorting="True">
    2                 <Columns>
    3                     <asp:BoundColumn HeaderText="id" DataField="id" SortExpression="id"></asp:BoundColumn>
    4                     <asp:BoundColumn HeaderText="name" DataField="name" SortExpression="name"></asp:BoundColumn>
    5                     <asp:BoundColumn HeaderText="age" DataField="age" SortExpression="age"></asp:BoundColumn>
    6                     <asp:BoundColumn HeaderText="sex" DataField="sex" SortExpression="sex"></asp:BoundColumn>
    7                 </Columns>
    8             </asp:DataGrid>
    9 
     1     Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     2         '在此处放置初始化页的用户代码
     3         If Me.IsPostBack = False Then
     4             BindDataGrid()
     5         End If
     6     End Sub
     7 
     8     Private Function GetDatasource() As DataView
     9         Dim dt As DataTable = New DataTable
    10         dt.Columns.Add("id"GetType(System.Int32))
    11         dt.Columns.Add("name"GetType(System.String))
    12         dt.Columns.Add("age"GetType(System.Int32))
    13         dt.Columns.Add("sex"GetType(System.Boolean))
    14 
    15         Dim dr As DataRow
    16         For i As Integer = 0 To 10
    17             dr = dt.NewRow
    18             dr(0= i
    19             dr(1= "name" & i
    20             dr(2= 15 + 2 * i
    21             dr(3= i Mod 2
    22             dt.Rows.Add(dr)
    23         Next
    24 
    25         Dim dv As DataView
    26         dv = dt.DefaultView
    27 
    28         If (IsNothing(Me.DataGrid1.Attributes("OrderBy")) = FalseThen
    29             dv.Sort = Me.DataGrid1.Attributes("OrderBy")
    30         End If
    31 
    32         Return dv
    33     End Function
    34 
    35     Private Sub BindDataGrid()
    36         Me.DataGrid1.DataSource = GetDatasource()
    37         Me.DataGrid1.DataBind()
    38     End Sub
    39 
    40 
    41     Private Sub DataGrid1_ItemDataBound(ByVal sender As ObjectByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
    42         If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
    43             If e.Item.Cells(3).Text = "True" Then
    44                 e.Item.Cells(3).Text = ""
    45             Else
    46                 e.Item.Cells(3).Text = ""
    47             End If
    48         End If
    49     End Sub
    50 
    51     Private Sub DataGrid1_SortCommand(ByVal source As ObjectByVal e As System.Web.UI.WebControls.DataGridSortCommandEventArgs) Handles DataGrid1.SortCommand
    52         '找到排序的列,并修改它的排序属性
    53         Dim clm As DataGridColumn = Nothing
    54         For i As Integer = 0 To Me.DataGrid1.Columns.Count
    55             If Me.DataGrid1.Columns(i).SortExpression = e.SortExpression Then
    56                 clm = Me.DataGrid1.Columns(i)
    57                 Exit For
    58             End If
    59         Next
    60 
    61         If e.SortExpression.ToLower().IndexOf("desc"> 0 Then
    62             clm.SortExpression = e.SortExpression.ToLower().Replace("desc""asc")
    63         ElseIf e.SortExpression.ToLower().IndexOf("asc"> 0 Then
    64             clm.SortExpression = e.SortExpression.ToLower().Replace("asc""desc")
    65         Else
    66             clm.SortExpression = e.SortExpression.ToLower() & " desc"
    67         End If
    68 
    69         Me.DataGrid1.Attributes("OrderBy"= clm.SortExpression
    70 
    71         BindDataGrid()
    72     End Sub
    73 
  • 相关阅读:
    输入一个1-9的数i,再输入一个数字n,表示 i 出现的次数,输入的2个数字 i 和 n 组合成如下表达式:如i=2,n=4,2+22+222+2222=?,计算结果是多少?
    现有数列1/2;2/3;3/5;5/8······第十次出现的是什么?
    猜数游戏:范围时1-100,若错误就提示大了还是小了,猜对则结束,允许猜10次,游戏结束后对玩家评价:1次猜对;5次内猜对;10次内猜对;没有猜对
    登录模拟,用户名和密码输入错误后给出相关错误提示,并告知还有多少次错误机会,如果5次验证失败将冻结账户
    30人围坐轮流表演节目,按顺序数1-3,每次数到3的人就表演节目,表演过的人不再参加报数,那么在仅剩一个人没有表演的时候,共报数多少人次?
    docker 自定义镜像
    php 镜像richarvey/nginx-php-fpm的ngnix配置
    php tp5常用小知识
    php Tp5下mysql的增删改查
    php 面试常问问题
  • 原文地址:https://www.cnblogs.com/luqingfei/p/1756038.html
Copyright © 2011-2022 走看看