I have not been able to impliment paging on the Datagrid in the Database-Example which comes with CuteEditor. The page numbers show and there are about 20 records. when I click on page 2 the screen flashes but the data displayed is still page 1. Please tell me what I am doing wrong?
I added the following parameters to MyDataGrid:
AllowPaging="True"
AllowCustomPaging="True"
PageSize="10"
and made sure the following was added to the onpage load event: I used 20 since my list has 20 items.
Sub Page_Load(Source as Object, E as EventArgs)
If Not Page.IsPostBack Then
MyDataGrid.VirtualItemCount = "20"
BindData()
End If
End Sub
thanks
Milton
<%@ Page Language="vb" Debug="true"%>
<%
@ 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 - Database Example</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>Database Example</b>
<asp:Datagrid runat="server"
Id="MyDataGrid"
cellpadding="4"
Headerstyle-BackColor="#eeeeee"
Headerstyle-Font-Bold="True"
Width=720px
Font-Size="12px"
AutogenerateColumns="False"
AllowPaging="True"
AllowCustomPaging="True"
PageSize="10"
PagerStyle-Mode="NumericPages"
OnPageIndexChanged="MyDataGrid_PageChanger"
OnItemCommand="UpdateItem"
Font-Names="Arial"
ForeColor="#333333"
GridLines="None">
<Columns>
<asp:BoundColumn DataField="EventID" Visible="False" />
<asp:BoundColumn DataField="EventID" HeaderText="ID" >
<ItemStyle Width="50px" />
</asp:BoundColumn>
<asp:BoundColumn DataField="Notes" HeaderText="Note" >
<ItemStyle Width="430px" />
</asp:BoundColumn>
<asp:BoundColumn DataField="EventDate" HeaderText="Date" >
<ItemStyle Width="120px" />
</asp:BoundColumn>
<asp:ButtonColumn CommandName="Edit" HeaderText="Edit" Text="Edit" >
<ItemStyle Width="50px" />
</asp:ButtonColumn>
<asp:ButtonColumn CommandName="Delete" HeaderText="Delete" Text="Delete" >
<ItemStyle Width="50px" />
</asp:ButtonColumn>
</Columns>
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<EditItemStyle BackColor="#999999" />
<SelectedItemStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<AlternatingItemStyle BackColor="White" ForeColor="#284775" />
<ItemStyle BackColor="#F7F6F3" ForeColor="#333333" />
</asp:datagrid><asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/Uploads/Northwind.mdb"
DeleteCommand="DELETE FROM [Events] WHERE [EventID] = ?" InsertCommand="INSERT INTO [Events] ([Notes], [EventID], [EventDate]) VALUES (?, ?, ?)"
SelectCommand="SELECT [Notes], [EventID], [EventDate] FROM [Events]" UpdateCommand="UPDATE [Events] SET [Notes] = ?, [EventDate] = ? WHERE [EventID] = ?">
<DeleteParameters>
<asp:Parameter Name="EventID" Type="Int32" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="Notes" Type="String" />
<asp:Parameter Name="EventDate" Type="String" />
<asp:Parameter Name="EventID" Type="Int32" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="Notes" Type="String" />
<asp:Parameter Name="EventID" Type="Int32" />
<asp:Parameter Name="EventDate" Type="String" />
</InsertParameters>
</asp:AccessDataSource>
<br>
<CE:Editor id="Editor1" EditorWysiwygModeCss="../example.css" Autoconfigure="Simple" Height="200" runat="server" OnTextChanged="Editor1_TextChanged" ></CE:Editor><br />
<asp:Button id="btnUpdate" onclick="Submit" Runat="server" Text="Add"></asp:Button>
<asp:Literal ID="Literal1" Runat="server" />
<br><br>
<input type="hidden" name="eventid" runat="server" id="eventid">
</td>
<tr>
</table>
</form>
</body>
</
html>
<
script runat="server">
Sub Page_Load(Source as Object, E as EventArgs)
If Not Page.IsPostBack Then
MyDataGrid.VirtualItemCount =
"60"
BindData()
End If
End Sub
Sub BindData()
Dim sql as string = "Select EventID, Notes, EventDate from Events"
Dim conn As OleDbConnection = CreateConnection()
Dim objDR as OleDbDataReader
Dim Cmd as New OleDbCommand(sql, conn)
objDR=Cmd.ExecuteReader(system.data.CommandBehavior.CloseConnection)
MyDataGrid.DataSource = objDR
MyDataGrid.DataBind()
End Sub
Sub UpdateItem(s As Object, e As DataGridCommandEventArgs )
Dim conn As OleDbConnection = CreateConnection()
'Check if the CommandName==Delete
If e.CommandName = "Delete" Then
Dim com As OleDbCommand = New OleDbCommand("DELETE FROM Events WHERE EventID = @id", conn)
com.Parameters.Add(
"id", e.Item.Cells(0).Text)
com.ExecuteNonQuery()
conn.Close()
else If (e.CommandName = "Edit") then
Dim com As OleDbCommand = New OleDbCommand("SELECT Notes FROM Events WHERE EventID = @id", conn)
com.Parameters.Add(
"id", e.Item.Cells(0).Text)
Dim result As OleDbDataReader = com.ExecuteReader()
If result.Read() Then
'set the editor text
Editor1.Text = result.GetString(0)
eventid.Value = e.Item.Cells(0).Text
btnUpdate.Text=
"Update"
Else
Editor1.Text =
""
eventid.Value =
""
btnUpdate.Text=
"Add"
End If
result.Close()
End If
BindData
End Sub
Sub Submit(s As Object, e As System.EventArgs )
Dim conn As OleDbConnection = CreateConnection()
Dim com As OleDbCommand = Nothing
If Not eventid.Value = String.Empty Then
com =
New OleDbCommand("UPDATE Events SET EventDate = Date(), Notes = @content WHERE EventID = @id", conn)
com.Parameters.Add(
"content", Editor1.Text)
com.Parameters.Add(
"id", Convert.ToInt32(eventid.Value))
com.ExecuteNonQuery()
conn.Close()
Else
com =
New OleDbCommand("INSERT INTO Events (EventDate, Notes) VALUES (Date(), @content)", conn)
com.Parameters.Add(
"content", Editor1.Text)
com.ExecuteNonQuery()
conn.Close()
End If
BindData
Me.Response.Redirect(Me.Request.Url.PathAndQuery)
End Sub
Function CreateConnection() As OleDbConnection
Dim conn As OleDbConnection = New OleDbConnection
conn.ConnectionString =
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Context.Server.MapPath("../uploads/Northwind.mdb") + ";"
conn.Open()
Return conn
End Function
Protected Sub Editor1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs)
End Sub
Sub myDataGrid_PageChanger(ByVal Source As Object, _
ByVal
E As DataGridPageChangedEventArgs)
' Set the CurrentPageIndex before binding the grid
myDataGrid.CurrentPageIndex = E.NewPageIndex
BindData()
End Sub
</
script>