Hi Luckygal
So far I got the load, delete, update working without ajax but the insert I havent figured out so I am still using Ajax to do the insert. The Select Command I am doing through ajax.
<body>
<form id="form1" runat="server">
<ext:Checkbox runat="server" Hidden="true" ID="chkAdd">
</ext:Checkbox>
<ext:ScriptManager ID="ScriptManager1" runat="server" Locale="en-GB" Theme="Slate" />
<asp:SqlDataSource ID="sqlRef" runat="server" ProviderName="<%$ ConnectionStrings:guest.ProviderName %>"
DataSourceMode="DataReader" >
</asp:SqlDataSource>
<ext:Store ID="stRef" runat="server" DataSourceID="sqlRef" UseIdConfirmation="True">
<Reader>
<ext:JsonReader ReaderID="fineref">
<Fields>
<ext:RecordField Name="fineref" />
</Fields>
</ext:JsonReader>
</Reader>
</ext:Store>
<asp:SqlDataSource ID="SqlFinesInfo" runat="server" CacheExpirationPolicy="Sliding"
DeleteCommand="set dateformat dmy; DELETE FROM [Fines] WHERE [FineRef] = @original_fineref AND ([DriverPinCDE] = @original_driverpincde)"
OldValuesParameterFormatString="original_{0}"
UpdateCommand="UPDATE [Fines] SET [FineRef] = @fineref, [FineDate] = @finedate, [FineTime] = @finetime, [FineAmount] = @fineamount, [Paid] = @paid, [InvoiceNo] = @invoiceno, [ReducedTo] = @reducedto, [StructureID] = @structureid, [RegistrationNo] = @registrationno, [FineComment] = @finecomment, [ResponsibleParty] = @responsibleparty, [FinePayDate] = @finepaydate, [FineLocation] = @finelocation WHERE [FineRef] = @original_fineref AND [DriverPinCDE] = @original_driverpincde" >
<DeleteParameters>
<asp:QueryStringParameter Name="original_driverpincde"
QueryStringField="pincde" />
<asp:SessionParameter Name="original_fineref" SessionField="fineref" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="fineref" Type="String" />
<asp:Parameter Name="finedate" Type="DateTime" />
<asp:Parameter Name="finetime" Type="DateTime" />
<asp:Parameter Name="fineamount" Type="Decimal" />
<asp:Parameter Name="paid" Type="Boolean" />
<asp:Parameter Name="invoiceno" Type="String" />
<asp:Parameter Name="reducedto" Type="Single" />
<asp:Parameter Name="structureid" Type="Int32" />
<asp:Parameter Name="registrationno" Type="String" />
<asp:Parameter Name="finecomment" Type="String" />
<asp:Parameter Name="responsibleparty" Type="String" />
<asp:Parameter Name="finepaydate" Type="DateTime" />
<asp:Parameter Name="finelocation" Type="String" />
<asp:QueryStringParameter Name="original_driverpincde"
QueryStringField="pincde" />
<asp:SessionParameter Name="original_fineref" SessionField="fineref" />
</UpdateParameters>
</asp:SqlDataSource>
<ext:Store ID="StFinesInfo" runat="server" DataSourceID="SqlFinesInfo" ShowWarningOnFailure="False"
UseIdConfirmation="True" >
<Reader>
<ext:JsonReader ReaderID="driverpincde">
<Fields>
<ext:RecordField Name="finedate" />
<ext:RecordField Name="finetime" />
<ext:RecordField Name="fineref" />
<ext:RecordField Name="fineamount" />
<ext:RecordField Name="paid" />
<ext:RecordField Name="invoiceno" />
<ext:RecordField Name="finecomment" />
<ext:RecordField Name="registrationno" />
<ext:RecordField Name="structurename" />
<ext:RecordField Name="structureid" />
<ext:RecordField Name="reducedto" />
<ext:RecordField Name="responsibleparty" />
<ext:RecordField Name="finepaydate" />
<ext:RecordField Name="finelocation" />
<ext:RecordField Name="driverpincde" />
</Fields>
</ext:JsonReader>
</Reader>
<Listeners>
<LoadException Handler="Ext.Msg.alert('Company Structure - Load failed', e.message || e )" />
<CommitFailed Handler="Ext.Msg.alert('Company Structure - Commit failed', 'Reason: ' + msg)" />
<SaveException Handler="Ext.Msg.alert('Company Structure - Save failed', e.message || e)" />
<CommitDone Handler="Ext.example.msg('Update Message', 'Record processing Successful', 4000);" />
<DataChanged Handler="var record = this.getAt(0) || {};#{frmFines}.getForm().loadRecord(record); " />
<BeforeLoad Handler="#{frmFines}.body.mask('Loading...', 'x-mask-loading');" />
<Load Handler="chkdate(#{txtStartDate});#{frmFines}.body.unmask();" />
<LoadException Handler="#{frmFines}.body.unmask();" />
</Listeners>
</ext:Store>
<ext:ViewPort ID="ViewPort1" runat="server">
<Body>
<ext:BorderLayout runat="server">
<West Collapsible="true" Split="true">
<ext:FormPanel ID="FormPanel1" LabelWidth="120" runat="server" Title="Fine Reference Search"
Width="200">
<Body>
<ext:FormLayout runat="server" ID="frmPanel">
<ext:Anchor>
<ext:Panel ID="Panel3" runat="server" FormGroup="true" Title="Search Fines" Border="false">
<Body>
<ext:FormLayout runat="server" ID="FormLayout1">
<ext:Anchor Horizontal="100%">
<ext:FormPanel runat="server" ID="pnlS" Border="false">
<Body>
<ext:TriggerField ID="txtFines" Width="200" HideLabel="true" AllowBlank="false"
runat="server" EmptyText="Enter Reference/Click to load -->">
<Triggers>
<ext:FieldTrigger Icon="Search" />
</Triggers>
<AjaxEvents>
<TriggerClick OnEvent="LoadRef">
<EventMask ShowMask="true" />
</TriggerClick>
</AjaxEvents>
</ext:TriggerField>
</Body>
<Buttons>
<ext:Button StyleSpec="margin-left:56px" ID="btnLoad" Text="Load" runat="server">
<Listeners>
<Click Handler="StFinesInfo.rejectChanges()" />
</Listeners>
<AjaxEvents>
<Click OnEvent="LoadInfo">
<EventMask ShowMask="true" />
</Click>
</AjaxEvents>
</ext:Button>
</Buttons>
</ext:FormPanel>
</ext:Anchor>
<ext:Anchor Horizontal="100%">
<ext:MultiSelect Hidden="true" SubmitText="true" MultiSelect="false" HideLabel="true"
ID="lstSearch" Width="200" KeepSelectionOnClick="WithCtrlKey" StoreID="stRef"
DisplayField="fineref" ValueField="fineref" runat="server" Legend="Select Reference"
Height="300">
<AjaxEvents>
<Click OnEvent="lstSelect">
</Click>
</AjaxEvents>
</ext:MultiSelect>
</ext:Anchor>
</ext:FormLayout>
</Body>
</ext:Panel>
</ext:Anchor>
</ext:FormLayout>
</Body>
</ext:FormPanel>
</West>
<Center>
<ext:Panel runat="server" Title="Fines Info">
<Body>
<ext:FormPanel runat="server" ID="frmFines" MonitorPoll="500" MonitorValid="true">
<Body>
<ext:FormLayout runat="server" ID="frmF">
<ext:Anchor>
<ext:DateField Format="dd/MM/yyyy" Width="100" DataIndex="finedate" AutoDataBind="true"
FieldLabel="Fine Date" ID="txtFineDate" runat="server" AllowBlank="false" BlankText="Please select a Date">
</ext:DateField>
</ext:Anchor>
<ext:Anchor Horizontal="43%">
<ext:TimeField ID="txtFineTime" DataIndex="finetime" AutoDataBind="true"
FieldLabel="Fine Time" MinTime="00:01" MaxTime="23:59" Increment="30" AllowBlank="false" BlankText="Please enter or select a time" SelectedTime="09:00" Format="H:mm" runat="server" MsgTarget="Side" EmptyText="Fine Time">
</ext:TimeField>
</ext:Anchor>
<ext:Anchor Horizontal="60%">
<ext:TextField ID="txtFineref" DataIndex="fineref" AutoDataBind="true" MaxLength="30"
FieldLabel="Fine Ref" runat="server" AllowBlank="false" MsgTarget="Side" EmptyText="Enter Fine Reference"
BlankText="Fine Reference is required">
</ext:TextField>
</ext:Anchor>
<ext:Anchor Horizontal="50%">
<ext:NumberField ID="txtFineAmount" MaxLength="13" AutoDataBind="true" AllowBlank="false" DataIndex="fineamount"
FieldLabel="Fine Amount" runat="server">
</ext:NumberField>
</ext:Anchor>
<ext:Anchor Horizontal="50%">
<ext:NumberField ID="txtReducedTo" MaxLength="15" AutoDataBind="true" DataIndex="reducedto"
FieldLabel="Reduced To" runat="server">
</ext:NumberField>
</ext:Anchor>
<ext:Anchor Horizontal="60%">
<ext:TextArea ID="txtFineComment" FieldLabel="Fine Comment" AutoDataBind="true" DataIndex="finecomment"
Height="50" MaxLength="255" runat="server">
</ext:TextArea>
</ext:Anchor>
<ext:Anchor Horizontal="50%">
<ext:TextField ID="txtRegistrationNo" MaxLength="15" AllowBlank="false" AutoDataBind="true" DataIndex="registrationno"
FieldLabel="Registration No" runat="server">
</ext:TextField>
</ext:Anchor>
<ext:Anchor Horizontal="60%">
<ext:TextField Hidden="true" ID="txtStructureId" AutoDataBind="true" DataIndex="structureid"
runat="server" FieldLabel="Top Company Structure" ReadOnly="true" MsgTarget="Side" />
</ext:Anchor>
<ext:Anchor Horizontal="60%">
<ext:TriggerField FieldLabel="Company Structure" AutoDataBind="true" DataIndex="structurename"
ID="txtStructureName" MsgTarget="Side" AllowBlank="false" BlankText="Company Structure is required"
runat="server" Width="200">
<Triggers>
<ext:FieldTrigger Icon="Combo" />
</Triggers>
<Listeners>
<TriggerClick Fn="triggerHandler" />
</Listeners>
</ext:TriggerField>
</ext:Anchor>
<ext:Anchor Horizontal="100%">
<ext:TreePanel ID="treeSt" Hidden="true" Title="Select Structure..." runat="server"
Width="300" Height="195" Animate="true" TitleCollapse="true" AutoScroll="true"
Collapsible="true" Collapsed="false" CollapseFirst="true">
<Root>
<ext:AsyncTreeNode NodeID="0" Text="Root" />
</Root>
<Listeners>
<BeforeLoad Fn="nodeLoadSt" />
<Click Handler="document.getElementById('txtStructureName').value = node.text; document.getElementById('txtStructureId').value = node.id; Coolite.AjaxMethods.TreeHid(); " />
</Listeners>
</ext:TreePanel>
</ext:Anchor>
<ext:Anchor Horizontal="60%">
<ext:TextField ID="txtResponsibleParty" AutoDataBind="true" DataIndex="responsibleparty"
runat="server" FieldLabel="Responsible Party" />
</ext:Anchor>
<ext:Anchor Horizontal="60%">
<ext:TextField ID="txtFineLocation" AutoDataBind="true" DataIndex="finelocation"
runat="server" FieldLabel="Fine Location" />
</ext:Anchor>
<ext:Anchor Horizontal="100%">
<ext:FieldSet runat="server" ID="fldAuth" Title="Pay Information">
<Body>
<ext:FormLayout runat="server" ID="frmAuth">
<ext:Anchor>
<ext:Checkbox runat="server" ID="chkPaid" AutoDataBind="true" DataIndex="paid"
FieldLabel="Paid">
</ext:Checkbox>
</ext:Anchor>
<ext:Anchor>
<ext:DateField Format="dd/MM/yyyy" Width="100" DataIndex="finepaydate" AutoDataBind="true"
FieldLabel="Pay Date" ID="txtfinepaydate" runat="server">
</ext:DateField>
</ext:Anchor>
<ext:Anchor Horizontal="60%">
<ext:TextField ID="txtInvoiceNo" AutoDataBind="true" DataIndex="invoiceno"
runat="server" FieldLabel="Receipt No" />
</ext:Anchor>
</ext:FormLayout>
</Body>
</ext:FieldSet>
</ext:Anchor>
</ext:FormLayout>
</Body>
<Listeners>
<ClientValidation Handler="btnSave.setDisabled(!#{frmFines}.getForm().isValid());chkAdds();chkDelete();" />
</Listeners>
</ext:FormPanel>
</Body>
<Buttons>
<ext:Button ID="btnAdd" Text="Add" Icon="Add" runat="server">
<Listeners>
<Click Handler="#{frmFines}.getForm().reset(); #{chkAdd}.checked = true;" />
</Listeners>
</ext:Button>
<ext:Button ID="btnDelete" Text="Delete" Icon="Delete" runat="server">
<Listeners><Click Handler="Ext.Msg.confirm('Delete Record', 'Are you sure?', function(btn) {if (btn == 'yes') {#{StFinesInfo}.remove(StFinesInfo.getAt(0)); #{StFinesInfo}.save();#{frmFines}.getForm().reset();}});" /></Listeners>
</ext:Button>
<ext:Button ID="btnSave" Text="Update" Icon="Disk" runat="server">
<Listeners>
<Click Handler="if (#{chkAdd}.checked == false){#{frmFines}.getForm().updateRecord(StFinesInfo.getAt(0)); StFinesInfo.save();} else { Coolite.AjaxMethods.AddFines();}" />
</Listeners>
</ext:Button>
</Buttons>
</ext:Panel>
</Center>
</ext:BorderLayout>
</Body>
</ext:ViewPort>
</form>
</body>