Implement a client-side dataset-----index.htm
Last Update:2017-02-28
Source: Internet
Author: User
Client <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 transitional//en" >
<HTML>
<HEAD>
<meta name=vs_targetschema content= "http://schemas.microsoft.com/intellisense/ie5" >
<TITLE> Client dataset</title>
<SCRIPT>
var irowidx = 0;
function init ()
{
Services.useservice ("Clientdatasetdataprovider.asmx?") WSDL "," Clientdatasetdataprovider ");
LoadData ();
}
function LoadData ()
{
Services.clientdatasetdataprovider.callService (Loadresult, "getpubs");
}
function Loadresult (Result)
{
if (result.error) {
alert (result.errorDetail.string);
}
else {
Dspubs.readxml (Result.value);
Irowidx = 0;
Updatebuttons ();
DataBind ();
}
}
function DataBind ()
{
var otable = dspubs.gettable ("authors");
if (otable) {
var orow = Otable.getrow (IROWIDX);
if (Orow) {
Txtauthorid.value = Orow.getvalue ("au_id");
Txtfirstname.value = Orow.getvalue ("au_fname");
Txtlastname.value = Orow.getvalue ("au_lname");
Txtphone.value = Orow.getvalue ("Phone");
Txtaddress.value = Orow.getvalue ("Address");
Txtcity.value = Orow.getvalue ("city");
Txtstate.value = Orow.getvalue ("state");
Txtzip.value = Orow.getvalue ("Zip");
chkcontract.checked = (Orow.getvalue ("contract") = = "true")? True:false;
Return
}
}
Txtauthorid.value = "";
Txtfirstname.value = "";
Txtlastname.value = "";
Txtphone.value = "";
Txtaddress.value = "";
Txtcity.value = "";
Txtstate.value = "";
Txtzip.value = "";
Chkcontract.value = false;
}
function Text_onblur ()
{
var sdatafld = Event.srcElement.getAttribute ("datafld");
var otable = dspubs.gettable ("authors");
if (otable) {
var orow = Otable.getrow (IROWIDX);
if (Orow) {
Orow.setvalue (SDATAFLD, Event.srcElement.value);
}
}
}
function Checkbox_onblur ()
{
var sdatafld = Event.srcElement.getAttribute ("datafld");
var otable = dspubs.gettable ("authors");
if (otable) {
var orow = Otable.getrow (IROWIDX);
if (Orow) {
Orow.setvalue (SDATAFLD, Event.srcElement.checked.toString (). toLowerCase ());
}
}
}
function Updatebuttons ()
{
var otable = dspubs.gettable ("authors");
if (otable) {
var cRows = Otable.getrowcount ();
if (irowidx = 0 | | cRows = = 0) {
Btnfirst.disabled = true;
Btnprev.disabled = true;
}
else {
btnfirst.disabled = false;
btnprev.disabled = false;
}
if (Irowidx < cRows-1) {
btnnext.disabled = false;
btnlast.disabled = false;
}
else {
Btnnext.disabled = true;
Btnlast.disabled = true;
}
if (CRows > 0) {
btndelete.disabled = false;
}
else {
Btndelete.disabled = true;
}
}
else {
Btnfirst.disabled = true;
Btnprev.disabled = true;
Btnnext.disabled = true;
Btnlast.disabled = true;
Btnadd.disabled = true;
Btndelete.disabled = true;
}
}
function Btnsave_onclick ()
{
var dschanges = Dspubs.getchanges ();
Services.clientdatasetdataprovider.callService (Saveresult, "SaveChanges", dschanges);
}
function Saveresult (Result)
{
if (result.error) {
alert (result.errorDetail.string);
Dspubs.rejectchanges ();
}
else {
Alert ("Data has been saved!");
Dspubs.acceptchanges ();
}
Updatebuttons ();
DataBind ();
}
function Btnfirst_onclick ()
{
Irowidx = 0;
Updatebuttons ();
DataBind ();
}
function Btnprev_onclick ()
{
irowidx--;
if (Irowidx < 0) Irowidx = 0;
Updatebuttons ();
DataBind ();
}
function Btnnext_onclick ()
{
var otable = dspubs.gettable ("authors");
if (otable) {
var cRows = Otable.getrowcount ();
irowidx++;
if (irowidx >= cRows) irowidx = cRows-1;
Updatebuttons ();
DataBind ();
}
}
function Btnlast_onclick ()
{
var otable = dspubs.gettable ("authors");
if (otable) {
var cRows = Otable.getrowcount ();
Irowidx = cRows-1;
Updatebuttons ();
DataBind ();
}
}
function Btnadd_onclick ()
{
var otable = dspubs.gettable ("authors");
if (otable) {
var orow = Otable.addrow ();
Irowidx = Otable.getrowcount ()-1;
Updatebuttons ();
DataBind ();
}
}
function Btndelete_onclick ()
{
var otable = dspubs.gettable ("authors");
if (otable) {
Otable.getrow (IROWIDX). Delete ();
otable = dspubs.gettable ("authors");
var cRows = Otable.getrowcount ();
if (irowidx >= cRows) irowidx = cRows-1;
Updatebuttons ();
DataBind ();
}
}
function Btngetchanges_onclick ()
{
var odoc = Dspubs.getchanges ();
var Odiff = Odoc.selectsinglenode ("//diffgr:diffgram");
Txtdebug.value = Odiff.xml;
}
function Btnacceptchanges_onclick ()
{
Dspubs.acceptchanges ();
Txtdebug.value = DsPubs.XmlData.xml;
}
function Btnrejectchanges_onclick ()
{
Dspubs.rejectchanges ();
Txtdebug.value = DsPubs.XmlData.xml;
}
Window.attachevent ("onload", init);
</SCRIPT>
</HEAD>
<BODY>
<table cellspacing=0 cellpadding=10 border=0>
<tr>
<TD Align=left valign=top>
<b>author id:</b><br>
<input id=txtauthorid type=text datafld= "au_id" onblur= "Text_onblur ()" ><br><br>
<b>first name:</b><br>
<input id= "txtFirstName" Type=text datafld= "au_fname" onblur= "Text_onblur ()" ><br><br>
<b>last name:</b><br>
<input id= "Txtlastname" Type=text datafld= "au_lname" onblur= "Text_onblur ()" ><br><br>
</td>
<TD Align=left valign=top>
<b>Phone:</b><br>
<input id= "Txtphone" Type=text datafld= "Phone" onblur= "Text_onblur ()" ><br><br>
<b>Address:</b><br>
<input id= "txtaddress" Type=text datafld= "Address" onblur= "Text_onblur ()" ><br><br>
<b>City:</b><br>
<input id= "txtcity" Type=text datafld= "City" onblur= "Text_onblur ()" ><br><br>
</td>
<TD Align=left valign=top>
<b>State:</b><br>
<input id= "txtstate" Type=text datafld= "state" onblur= "Text_onblur ()" ><br><br>
<b>Zip:</b><br>
<input id= "Txtzip" Type=text datafld= "Zip" onblur= "Text_onblur ()" ><br><br>
<b>contract:</b><input id= "chkcontract" Type=checkbox datafld= "Contract" onblur= "Checkbox_onBlur" () ><br><br>
</td>
</tr>
</table>
<table width= "100%" >
<tr>
<TD Align=left valign=top>
<input id= "Btnfirst" Type=button value= "a" onclick= "Btnfirst_onclick ()" >
<input id= "Btnprev" Type=button value= "Prev" onclick= "Btnprev_onclick ()" >
<input id= "btnnext" type= button value= "Next" onclick= "Btnnext_onclick ()" >
<input id= "btnlast" type= button value= "Last" onclick= "Btnlast_onclick ()" >
<input id= "Btnadd" Type=button value= "Add" onclick= "Btnadd_onclick ()" >
<input id= "Btndelete" Type=button value= "Delete" onclick= "Btndelete_onclick ()" >
</td>
<TD Align=right valign=top>
<input id= "btngetchanges" Type=button value= "GetChanges" onclick= "Btngetchanges_onclick ()" >
<input id= "btnacceptchanges" Type=button value= "AcceptChanges" onclick= "Btnacceptchanges_onclick ()" >
<input id= "btnrejectchanges" Type=button value= "RejectChanges" onclick= "Btnrejectchanges_onclick ()" >
<input id= "Btnsave" Type=button value= "Save" onclick= "Btnsave_onclick ()" >
</td>
</tr>
</table>
<textarea id=txtdebug rows=20 style= "width:100%;" >
</textarea>
<div id= "Services" style= "Behavior:url (WEBSERVICE.HTC)" showprogress=true></div>
<div id= "dspubs" style= "Behavior:url (CLIENTDATASET.HTC)" ></div>
</BODY>
</HTML>