Jan 27, 2010, 7:57 AM
[CLOSED] Grid AddRecord "Object Expected" Error
In the below sample when I click the button to add a record to the grid I get an Object Expected Error but I dont know what I am missing. Any pointers?
<%@ Page Language="VB" %>
<%@ Register Assembly="Coolite.Ext.Web" Namespace="Coolite.Ext.Web" TagPrefix="ext" %>
<%@ Register src="~\Controls/CopyTo.ascx" tagname="CopyTo" tagprefix="CTO" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title></title>
<ext:Store ID="StoreContinuations" runat="server">
<%-- <SortInfo Field="ApprovalDate" Direction="ASC" />--%>
<Reader>
<ext:JsonReader ReaderID="StaffID">
<Fields>
<ext:RecordField Name="ApprovalDate" Type="Date" />
<ext:RecordField Name="Approver" Type="String" />
<ext:RecordField Name="Decision" Type="String" />
<ext:RecordField Name="Reason" Type="String" />
<ext:RecordField Name="StatusString" Type="String" />
</Fields>
</ext:JsonReader>
</Reader>
</ext:Store>
<style type="text/css">
.x-grid3-row-body p
{
margin: 5px 5px 10px 5px !important;
width: 99%;
color: Gray;
}
</style>
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
Public Sub btnAddContinuation_Click(ByVal sender As Object, ByVal e As AjaxEventArgs)
Dim dicCont As New System.Collections.Generic.Dictionary(Of String, String)
With dicCont
.Add("ApprovalDate", Now)
.Add("Approver", "ApproverName")
.Add("Reason", "A Reason")
.Add("Decision", "A Decision")
.Add("StatusString", "Insert")
End With
grdContinuations.AddScript("addRecord({0},{1});", grdContinuations.ClientID, JSON.Serialize(dicCont))
End Sub
</script>
</head>
<body>
<form id="form1" runat="server">
<ext:ScriptManager ID="ResourceManager1" runat="server"/>
<ext:GridPanel ID="grdContinuations" runat="server" AutoExpandColumn="Decision" Height="350"
StoreID="StoreContinuations" Title="Continuations" ButtonAlign="Right" StyleSpec="paddingTop:5px"
EnableHdMenu="false">
<ColumnModel>
<Columns>
<%-- <ext:Column Header="ID" Hidden="true" Width="30" DataIndex="ContinuationID" />--%>
<ext:Column Header="Date" DataIndex="ApprovalDate" Width="100">
<Renderer Fn="Ext.util.Format.dateRenderer('d/m/Y h:i')" />
</ext:Column>
<ext:Column Header="Approver" DataIndex="Approver" Width="80" />
<ext:Column Header="Decision" DataIndex="Decision" Width="100" />
<ext:Column Header="Status" DataIndex="StatusString" Hidden="false" Width="100" />
</Columns>
</ColumnModel>
<View>
<ext:GridView ID="GridView1" runat="server" EnableRowBody="true">
<GetRowClass Handler="rowParams.body = '<p>[B]Reason:[B] '+record.data.Reason+'</p>'; return 'x-grid3-row-expanded';" />
</ext:GridView>
</View>
<SelectionModel>
<ext:RowSelectionModel ID="RowSelectionModel2" runat="server" />
</SelectionModel>
<Buttons>
<ext:Button ID="btnAddContinuation" Text="Add Continuation" runat="server" Icon="Add">
<AjaxEvents>
<Click OnEvent="btnAddContinuation_Click" />
</AjaxEvents>
</ext:Button>
</Buttons>
</ext:GridPanel>
</form>
</body>
</html>