Below is a very simple example of a self service page displaying a list of Cases belonging to an authenticated visitor.

The ASP code is found below.   The code is marked in different colours and discussed in a following section.


 <%@CodePage=65001 Language=JavaScript    %>
<!-- #include file ="ewaress.js" -->
<%
CRM = eWare;
var View=0, Edit=1, Save=2, PreDelete=3, PostDelete=4, Clear=6;
var Bottom=0, Left=1, Right=2, Top=3;
var CapDefault=0, CapTop=1, CapLeft=2, CapLeftAligned=3, CapRight=4, CapRightAligned=5, CapLeftAlignedRight=6;
var Button_Default="1", Button_Delete="2", Button_Continue="4";
////////////////////////////////////////////////////
var Head="<HTML><HEAD><LINK REL=\"stylesheet\" HREF=\"eware.css\"><META http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">";
var Body="<BODY>";
var EndBody="</BODY></HTML>";
Response.Write(Head);
Response.Write(Body);
if (CRM.Authenticated)
{
var intRecordId = CRM.VisitorInfo("visi_personid");
var PersonRecord = CRM.FindRecord('person','pers_personid='+intRecordId);
var myBlock = CRM.GetBlock("sscaselist");
var myBlockContainer = CRM.GetBlock("Container");
with (myBlockContainer)
{
  AddBlock(myBlock);
}
//Controlling and Setting Properties of GridColumns
var gridColCreatedDate = myBlock.DeleteGridCol("case_createddate");
var gridColStatus = myBlock.AddGridCol("case_status");
with (gridColStatus)
{
  AllowOrderBy = true;
  JumpAction= 430;
  CustomActionFile = "caseedit.asp";
  CustomIdField = "case_caseid";
}

myBlock.AddButton(BuildButton("new","new.gif","caseadd.asp"));
function BuildButton(ButtonName,ButtonImage,ButtonURL)
{
var strImagePath = "/CRM62/img/Buttons/";
var strButton = "<table class=row2>";
strButton += "<tr><td>";
strButton += "<a class=row2 href="+ButtonURL+" mce_href="+ButtonURL+"><image border=0 src="+strImagePath+ButtonImage+" mce_src="+strImagePath+ButtonImage+"></a>";
strButton += "</td><td>";
strButton += "<a class=row2 href="+ButtonURL+" mce_href="+ButtonURL+">"+eWare.GetTrans("Button",ButtonName)+"</a>";
strButton += "</td></tr></table>";
return strButton;
}
var Arg = "case_primarypersonid="+intRecordId;
Response.Write(myBlock.Execute(Arg));
}
else
{
  Response.Redirect("customlogon.asp");
}
Response.Write(EndBody);
%>
 

Controlling and Setting Properties of GridColumns

This section shows that you can edit the consituent columns of a List block.  You can remove and add new columns programmatically and you can set properties such as hyperlinks easily.