File: data_grid_0.vspx

package info (click to toggle)
virtuoso-opensource 6.1.4%2Bdfsg1-7
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 245,116 kB
  • sloc: ansic: 639,631; sql: 439,225; xml: 287,085; java: 61,048; sh: 38,723; cpp: 36,889; cs: 25,240; php: 12,562; yacc: 9,036; lex: 7,149; makefile: 6,093; jsp: 4,447; awk: 1,643; perl: 1,017; ruby: 1,003; python: 329
file content (101 lines) | stat: -rw-r--r-- 4,484 bytes parent folder | download | duplicates (2)
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
<?xml version="1.0"?>
<!--
 -  
 -  $Id: data_grid_0.vspx,v 1.2 2006/08/16 00:04:14 source Exp $
 -
 -  This file is part of the OpenLink Software Virtuoso Open-Source (VOS)
 -  project.
 -  
 -  Copyright (C) 1998-2006 OpenLink Software
 -  
 -  This project is free software; you can redistribute it and/or modify it
 -  under the terms of the GNU General Public License as published by the
 -  Free Software Foundation; only version 2 of the License, dated June 1991.
 -  
 -  This program is distributed in the hope that it will be useful, but
 -  WITHOUT ANY WARRANTY; without even the implied warranty of
 -  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 -  General Public License for more details.
 -  
 -  You should have received a copy of the GNU General Public License along
 -  with this program; if not, write to the Free Software Foundation, Inc.,
 -  51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 -  
 -  
-->
<!--! \brief Editable multi-row data grid based on data-grid control
This example will show list of customers from Northwind demo database.
Allows editing, addtion and removal of existing records.
-->
<v:page name="data_grid__0" xmlns:v="http://www.openlinksw.com/vspx/">
<html>
  <body>
      <v:data-grid name="dg" nrows="5" sql="select CustomerID, CompanyName, Phone from Demo.demo.Customers where CustomerId like :mask" cursor-type="keyset" edit="1">
        <v:param name="mask" value="'%'"/>
        <v:template name="t1" type="frame">
          <div>
            <div>
              Action
                <v:label name="l1" value="--(control.vc_parent as vspx_data_grid).dg_row_meta[0]"/>
              <v:label name="l2" value="--(control.vc_parent as vspx_data_grid).dg_row_meta[1]"/>
              <v:label name="l3" value="--(control.vc_parent as vspx_data_grid).dg_row_meta[2]"/>
            </div>
            <v:rowset/>
            <v:form type="add"/>
            <div>
              <v:button name="dg_prev" action="simple" value="&lt;&lt;"/>
              <v:button name="dg_next" action="simple" value="&gt;&gt;"/>
            </div>
          </div>
        </v:template>
        <v:template name="t2" type="row">
          <div>
            <v:button name="dg_edit" action="simple" value="Edit"/>
            <v:button name="dg_delete" action="simple" value="Delete">
              <v:on-post>
	      declare exit handler for sqlstate '*' {
		  self.vc_is_valid := 0;
		  control.vc_error_message := __SQL_MESSAGE;
		  return;
	      };
              delete from Demo.demo.Customers where CustomerID = self.dg.dg_current_row.te_rowset[0];
              self.dg.vc_data_bind (e);
                </v:on-post>
            </v:button>
            <v:label name="label1" value="--(control.vc_parent as vspx_row_template).te_rowset[0]"/>
            <v:label name="label2" value="--(control.vc_parent as vspx_row_template).te_rowset[1]"/>
            <v:label name="label3" value="--(control.vc_parent as vspx_row_template).te_rowset[2]"/>
          </div>
        </v:template>
        <v:template name="t3" type="if-not-exists">
          <div>No rows selected</div>
        </v:template>
        <v:template name="t4" type="edit">
          <v:form name="u1" type="update" table="Demo.demo.Customers" if-not-exists="insert">
            <v:key column="CustomerID" value="--self.dg.dg_current_row.te_rowset[0]" default="null"/>
            <v:template type="if-exists" name="t5">
              <div>
                <v:button name="b1" action="submit" value="Update"/>
                <input type="submit" name="b2" value="Cancel"/>
                <v:text name="c_id1" column="CustomerID"/>
                <v:text name="c_name1" column="CompanyName"/>
                <v:text name="c_phone1" column="Phone"/>
              </div>
            </v:template>
          </v:form>
        </v:template>
        <v:template name="t6" type="add">
          <v:form type="update" name="a1" table="Demo.demo.Customers" if-not-exists="insert">
            <v:key column="CustomerID" value="--''" default="null"/>
            <v:template name="t7" type="if-exists">
              <v:button name="b3" action="submit" value="Add"/>
              <v:text name="c_id2" column="CustomerID"/>
              <v:text name="c_name2" column="CompanyName"/>
              <v:text name="c_phone2" column="Phone"/>
            </v:template>
          </v:form>
        </v:template>
      </v:data-grid>
  </body>
</html>
</v:page>