Re: DataGrid paging not working on the DataBase-Example

  •  11-13-2006, 12:52 PM

    Re: DataGrid paging not working on the DataBase-Example

    Milton,
     
    Here is the modified version of DataGrid example. This example allows paging. Please copy/paste to the existing file and test it first. Then compare with your modified version and find out the problems.
     
    <%@ Page Language="vb"%>
    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.OleDb" %>
    <%@ Register TagPrefix="cutesoft" TagName="banner" Src="banner.ascx" %>
    <%@ Register TagPrefix="cutesoft" TagName="leftmenu" Src="leftmenu.ascx" %>
    <%@ Register TagPrefix="CE" Namespace="CuteEditor" Assembly="CuteEditor" %>
    <html>
        <head>
      <title>ASP and ASP.NET WYSIWYG Editor - Working with DataGrid</title>
      <link rel="stylesheet" href="../example.css" type="text/css" />
     </head>
     <body>
            <form runat="server">
       <cutesoft:banner id="banner1" runat="server" /> 
       <table border="0" cellpadding="0" cellspacing="0">
        <tr>
         <td width=10 nowrap></td>
         <td valign="top" nowrap id="leftcolumn" width="160">
          <cutesoft:leftmenu id="leftmenu1" runat="server" />    
         </td>
         <td width="20" nowrap></td>
         <td valign="top" width="760">
          <b>Working with DataGrid</b>
          <hr>
          This example show you how easy it can be to integrate the CuteEditor with the DataGrid.
          <br><br>
          <asp:Datagrid runat="server"
          Id="MyDataGrid"       
          AllowPaging="True"
          PageSize="2"
           PagerStyle-Mode="NumericPages"

          cellpadding="3"
          cellspacing="0"
          Headerstyle-BackColor="#eeeeee"
             Headerstyle-Font-Bold="True"
          BackColor="#f5f5f5"
          BorderWidth="1"
          Width=650
          Font-Name="Arial"
          Font-Size="12px"
          BorderColor="#999999"
          AutogenerateColumns="False"       
          OnPageIndexChanged="MyDataGrid_Page"
          OnEditcommand="MyDataGrid_EditCommand"
          OnCancelcommand="MyDataGrid_Cancel"
          OnUpdateCommand="MyDataGrid_UpdateCommand">
          <Columns>
           <asp:EditCommandColumn
            ButtonType="LinkButton"
            UpdateText="Update"
            CancelText="Cancel"
            EditText="Edit"
                     ItemStyle-HorizontalAlign="Center"
               HeaderText="Edit">
           </asp:EditCommandColumn>
           <asp:BoundColumn
            DataField="EmployeeID"
            HeaderText="ID"
            ReadOnly="True">
           </asp:BoundColumn>
           
           <asp:TemplateColumn HeaderText = "Title">
            <ItemTemplate>
             <%# DataBinder.Eval(Container.DataItem, "FirstName") %>
            </ItemTemplate>
            <EditItemTemplate>
             <CE:Editor id = "FirstName_box" EditorWysiwygModeCss="../example.css" TemplateItemList="Bold,Italic,Underline" Height=150 Width=300 ShowBottomBar="false" Text = '<%#DataBinder.Eval(Container.DataItem, "FirstName") %>' runat = "Server" ></CE:Editor>
            </EditItemTemplate>
           </asp:TemplateColumn>
           <asp:TemplateColumn HeaderText = "Title">
            <ItemTemplate>
             <%# DataBinder.Eval(Container.DataItem, "LastName") %>
            </ItemTemplate>
            <EditItemTemplate>
             <CE:Editor id = "LastName_box" EditorWysiwygModeCss="../example.css" TemplateItemList="Bold,Italic,Underline" Height=150 Width=200 ShowBottomBar="false" Text = '<%#DataBinder.Eval(Container.DataItem, "LastName") %>' runat = "Server" ></CE:Editor>
            </EditItemTemplate>
           </asp:TemplateColumn>
           <asp:TemplateColumn HeaderText = "Title">
            <ItemTemplate>
             <%# DataBinder.Eval(Container.DataItem, "Title") %>
            </ItemTemplate>
            <EditItemTemplate>
             <CE:Editor id = "Title_box" EditorWysiwygModeCss="../example.css" TemplateItemList="Bold,Italic,Underline" Height=150 Width=200 ShowBottomBar="false" Text = '<%#DataBinder.Eval(Container.DataItem, "Title") %>' runat = "Server" ></CE:Editor>
            </EditItemTemplate>
           </asp:TemplateColumn>
          </Columns>
         </asp:DataGrid>
         </td>
        <tr>
       </table>   
      </form>
     </body>
    </html>
    <script runat="server">
     Sub Page_Load(Source as Object, E as EventArgs)
      if not Page.IsPostBack then
       BindData
      end if
     End Sub
      
     Sub BindData()
      Dim sql as string = "Select EmployeeID, FirstName, LastName, Title from Employees"
      Dim conn As OleDbConnection = CreateConnection()
      Dim objDR as OleDbDataReader
      Dim Cmd as New OleDbCommand(sql, conn)
            Dim myAdapter As New OleDbDataAdapter(Cmd)
            Dim ds As New DataSet()
            myAdapter.Fill(ds)
            'Set the datagrid's datasource to the DataSet and databind   
            MyDataGrid.DataSource = ds
      MyDataGrid.DataBind()
      conn.close
     End Sub
     
        Sub MyDataGrid_Page(ByVal sender As Object, ByVal e As DataGridPageChangedEventArgs)
            MyDataGrid.CurrentPageIndex = e.NewPageIndex
            BindData()
        End Sub
     
     Sub MyDataGrid_EditCommand(s As Object, e As DataGridCommandEventArgs )
      MyDataGrid.EditItemIndex = e.Item.ItemIndex
      BindData
     End Sub
     Sub MyDataGrid_Cancel(Source As Object,   E As DataGridCommandEventArgs)
      MyDataGrid.EditItemIndex = -1
      BindData()
     End Sub
     
     Sub MyDataGrid_UpdateCommand(s As Object, e As DataGridCommandEventArgs )
      Dim conn As OleDbConnection = CreateConnection()
      Dim MyCommand As OleDbCommand
      Dim txtFirstName As CuteEditor.Editor = e.Item.FindControl("FirstName_Box")
      Dim txtLastName As CuteEditor.Editor = e.Item.FindControl("LastName_Box")
      Dim txtTitle As CuteEditor.Editor = e.Item.FindControl("Title_Box")
      Dim strUpdateStmt As String
       strUpdateStmt =" UPDATE Employees SET" & _
       " FirstName =@Fname, LastName =@Lname, Title = @Title " & _
       " WHERE EmployeeID = @EmpID"
      MyCommand = New OleDbCommand(strUpdateStmt, conn)
      MyCommand.Parameters.Add(New OleDbParameter("@Fname", txtFirstName.text))
      MyCommand.Parameters.Add(New OleDbParameter("@Lname", txtLastName.text))
      MyCommand.Parameters.Add(New OleDbParameter("@Title", txtTitle.text))
      MyCommand.Parameters.Add(New OleDbParameter("@EmpID", e.Item.Cells(1).Text ))
      MyCommand.ExecuteNonQuery()
      MyDataGrid.EditItemIndex = -1
       conn.close
      BindData
     End Sub
     
     Function CreateConnection() As OleDbConnection
            Dim myConnection As OleDbConnection = New OleDbConnection
            myConnection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Context.Server.MapPath("../uploads/Northwind.mdb") + ";"
      myConnection.Open()
            Return myConnection
        End Function
    </script>

     

    asp.net Chat http://cutesoft.net/ASP.NET+Chat/default.aspx
    Web Messenger: http://cutesoft.net/Web-Messenger/default.aspx
    asp.net wysiwyg editor: http://cutesoft.net/ASP.NET+WYSIWYG+Editor/default.aspx
    asp wysiwyg html editor: http://cutesoft.net/ASP
    asp.net Image Gallery: http://cutesoft.net/ASP.NET+Image+Gallery/default.aspx
    Live Support: http://cutesoft.net/live-support/default.aspx

View Complete Thread