<%@ Page Language="VB" AutoEventWireup="True" Debug="true"%>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script runat="server">
     
dim MyConnection as OleDbConnection

      
Sub Page_Load(sender As Object, e As EventArgs) 
          MyConnection 
= New OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" + Server.MapPath(".")+"/db/data5.mdb")

         
If Not IsPostBack Then 
            BindGrid()
         
End If
      
End Sub


      
Sub MyDataGrid_Page(sender as Object, e As DataGridPageChangedEventArgs) 
         MyDataGrid.CurrentPageIndex 
= e.NewPageIndex
         BindGrid()
      
End Sub


      
Sub BindGrid() 
          
Dim MyCommand As OleDbDataAdapter = new OleDbDataAdapter("select * from [user]", MyConnection)
          
Dim DS As DataSet = new DataSet()
          MyCommand.Fill(DS,
"user"
          MyDataGrid.DataSource 
= DS.Tables("user").DefaultView
          MyDataGrid.DataBind()
      
End Sub


     
Sub DataGrid_ItemDataBound(Sender As Object, e As DataGridItemEventArgs)
          
If e.Item.ItemType = ListItemType.EditItem Then
             
Dim tbx as TextBox = CType(e.Item.Cells(1).Controls(0),TextBox)'取得当DataGrid为编辑行时的控件
             tbx.Width = Unit.Pixel(300'设置为TextBox为编辑行时的宽度
             tbx.MaxLength = 10  '设置此时可输入的最大字符长度为10
          End If
     
End Sub


    
Sub MyDataGrid_Edit(Sender As Object, E As DataGridCommandEventArgs)
        MyDataGrid.ShowFooter 
= False
        MyDataGrid.EditItemIndex 
= CInt(E.Item.ItemIndex)
        BindGrid()
    
End Sub


    
    
Sub MyDataGrid_Update(sender As Object, e As DataGridCommandEventArgs)
        Response.Write(e.Item.Cells(
0).Text & "--")  '取得当按Update扭扭的当前行的ID
        '取得当按Update扭扭的当前行的TextBox控件的内容
        Response.Write(CType(e.Item.Cells(1).Controls(0),TextBox).Text) 
        
' 取消编辑作业
        MyDataGrid.EditItemIndex = -1
        BindGrid()
    
End Sub


    
Sub MyDataGrid_Cancel(sender As Object, e As DataGridCommandEventArgs)
        MyDataGrid.EditItemIndex 
= -1
        BindGrid()      
    
End Sub

</script>

<form runat="server">
    
<asp:DataGrid id="MyDataGrid" 
           AllowPaging
="True" 
           PageSize
="20" 
           OnPageIndexChanged
="MyDataGrid_Page" 
           runat
="server"
           AutoGenerateColumns
="False"
           Width
="500"
           OnItemDataBound
="DataGrid_ItemDataBound"
           OnEditCommand
="MyDataGrid_Edit" 
           OnCancelCommand
="MyDataGrid_Cancel" 
           OnUpdateCommand
="MyDataGrid_Update" >
         
<PagerStyle Mode="NumericPages" 
                     HorizontalAlign
="Right" />
      
<Columns>
         
<asp:BoundColumn DataField="id" HeaderText="ID" ReadOnly="true"/>
         
<asp:BoundColumn DataField="Name" HeaderText="NAME"/>
        
<asp:EditCommandColumn
            ButtonType
="PushButton" UpdateText="Update" CancelText="Cancel"
            EditText
="Edit" HeaderText="Edit">
        
</asp:EditCommandColumn>
      
</Columns>
      
</asp:DataGrid>
</form>