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="<<"/>
<v:button name="dg_next" action="simple" value=">>"/>
</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>
|