1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<%@ Page Language="C#" MaintainScrollPositionOnPostback="true" %>

<%@ Register Assembly="Adillis.SmartDBForms" Namespace="Adillis.SmartDBForms.DataSource" TagPrefix="smartDataSource" %>
<%@ Register Assembly="Adillis.SmartDBForms" Namespace="Adillis.SmartDBForms" TagPrefix="smartDBforms" %>

<!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 runat="server">
    <title>smartDBforms.NET - Filtering Example</title>
    <link href="SiteStyle.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <form id="form1" runat="server">
        <!-- Data Source -->
        <smartDataSource:SmartDataSource ID="SmartDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:LocalSql.Northwind %>" ProviderName="<%$ ConnectionStrings:LocalSql.Northwind.ProviderName %>" DeleteCommand="DELETE FROM [dbo].[Shippers] WHERE [ShipperID] = @original_ShipperID" InsertCommand="INSERT INTO [dbo].[Shippers] ( [CompanyName], [Phone] ) VALUES ( @CompanyName, @Phone )" SelectCommand="SELECT * FROM Shippers  &#13;&#10;WHERE (CompanyName LIKE @CompanyName OR  @CompanyName IS NULL) &#13;&#10;AND (ShipperID = @ID OR @ID IS NULL)" UpdateCommand="UPDATE [dbo].[Shippers] SET [CompanyName] = @CompanyName, [Phone] = @Phone WHERE [ShipperID] = @original_ShipperID" CancelSelectOnNullParameter="False" MonitorParameters="True"
            >
            <SelectParameters>
                <asp:ControlParameter ControlID="txtCompanyName" Name="CompanyName" PropertyName="Text" />
                <asp:ControlParameter ControlID="txtShipperID" Name="ID" PropertyName="Text" />
            </SelectParameters>
            <DeleteParameters>
                <asp:Parameter Name="original_ShipperID" Type="Int32" />
            </DeleteParameters>
            <InsertParameters>
                <asp:Parameter Name="CompanyName" Type="String" />
                <asp:Parameter Name="Phone" Type="String" />
            </InsertParameters>
            <UpdateParameters>
                <asp:Parameter Name="CompanyName" Type="String" />
                <asp:Parameter Name="Phone" Type="String" />
                <asp:Parameter Name="original_ShipperID" Type="Int32" />
            </UpdateParameters>
        </smartDataSource:SmartDataSource>
        
        <!-- Search Panel -->
        <asp:Panel ID="Panel1" style="padding:5px" runat="server" BorderColor="Gray" BorderStyle="Solid" BorderWidth="1px" Width="485px" Font-Names="Tahoma" Font-Size="Small">
        <div  class="HeaderStyleSmall" style="background-color:green;font-weight: bold; ">Search Shipper Companies</div>
            <table border="0" bordercolor="green">
                <tr>
                    <td nowrap="nowrap" style="height: 40px">
                        Company Name:</td>
                    <td style="width: 160px; height: 40px">
                        <asp:TextBox ID="txtCompanyName" runat="server"></asp:TextBox></td>
                    <td nowrap="nowrap" style="width: 100px; height: 40px; font-size: x-small;">
                        Use % as wild character</td>
                </tr>
                <tr>
                    <td style="height: 23px">
                        ID:</td>
                    <td style="width: 160px; height: 23px">
                        <asp:TextBox ID="txtShipperID" runat="server"></asp:TextBox>
                        <asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="txtShipperID"
                            Display="Dynamic" ErrorMessage="RangeValidator" MaximumValue="2147483647" MinimumValue="0"
                            Type="Integer" ValidationGroup="Panel1">Invalid number</asp:RangeValidator></td>
                    <td nowrap="nowrap" style="width: 100px; height: 23px">
                    </td>
                </tr>
            </table>
            <br />
            <asp:Button ID="btnSearch" runat="server" Text="Search" ValidationGroup="Panel1" /></asp:Panel>
        <br />
    
        <!-- Database Form -->
        <smartDBforms:OperationStatus ID="OperationStatus1" runat="server" ControlIDToHandle="SmartDBView1" Font-Size="Smaller" Width="485px">
        </smartDBforms:OperationStatus>
        <smartDBforms:SmartDBView ID="SmartDBView1" CssClass="FormStyle" runat="server" DataSourceID="SmartDataSource1"
            Width="485px" DefaultMode="ReadOnly" OnEmptyData="EmptyDataTemplate" >
            <Content>
            <div class="HeaderStyleSmall" style="">
                Shipper</div>
            <div style="padding:15px">
                <smartDBforms:SmartDBControl ID="ctrlShipperID" runat="server" Field="ShipperID" />
                <br />                
                <smartDBforms:SmartDBControl ID="ctrlCompanyName" runat="server" Field="CompanyName" />
                <br />
                <smartDBforms:SmartDBControl ID="ctrlPhone" runat="server" Field="Phone" />
            </div>

                <asp:LinkButton ID="btnEdit" runat="server" CausesValidation="False" CommandName="Edit"
                    Enabled="<%# Container.IsReadOnlyMode %>" Text="Edit" 
                    Visible="<%# Container.IsReadOnlyMode %>" />
                <asp:LinkButton ID="btnUpdate" runat="server" CausesValidation="True" CommandName="Update"
                    Enabled="<%# Container.IsEditMode %>" Text="Update" 
                    Visible="<%# Container.IsEditMode %>" />
                <asp:LinkButton ID="btnInsert" runat="server" CausesValidation="True" CommandName="Insert"
                    Enabled="<%# Container.IsInsertMode %>" Text="Insert" 
                    Visible="<%# Container.IsInsertMode %>" />
                <asp:LinkButton ID="btnCancel" runat="server" CausesValidation="False" CommandName="Cancel"
                    Enabled="<%# Container.IsNotDefaultMode%>" Text="Cancel" 
                    Visible="<%# Container.IsNotDefaultMode%>" />
                <asp:LinkButton ID="btnDelete" runat="server" CausesValidation="False" CommandName="Delete"
                    Enabled="<%#  Container.IsReadOnlyOrEditMode %>" OnClientClick="if(!confirm('Are you sure?')) return false;"
                    Text="Delete" Visible="<%#  Container.IsReadOnlyOrEditMode %>" />
                <asp:LinkButton ID="btnNew" runat="server" CausesValidation="False" CommandName="New"
                    Enabled="<%# Container.IsReadOnlyOrEditMode %>" Text="New" 
                    Visible="<%# Container.IsReadOnlyOrEditMode %>" />
            </Content>

            <EmptyDataTemplate>
                <div style="margin:10px;FONT-SIZE: large; COLOR: gray; TEXT-ALIGN: center">The search returned no results.</div>
            </EmptyDataTemplate>
        </smartDBforms:SmartDBView>
		<smartDBforms:SmartPager style="margin-top:4px" ID="SmartPager1" runat="server" ControlIDToPage="SmartDBView1" Font-Size="Small" PagerType="DropDown"></smartDBforms:SmartPager>
    </form>
</body>
</html>