IE Beispiel 2: Tabelle sortieren
Dies ist eine HTML-Beispieldatei mit einem eingebetteten JavaScript. Für das Beispiel muss das Authentic Browser Plug-In (CAB-Datei und Lizenzdatei) auf Ihrem Computer installiert werden. Beachten Sie, dass die Groß- und Kleinschreibung auf einigen Servern eine Rolle spielt. Wenn eine Datei daher nicht gefunden wird, überprüfen Sie die Groß- und Kleinschreibung von Dateinamen und Befehlen im Code.
Der Code zeigt an:
•wie das Browser Plug-In aufgerufen werden soll. Passen Sie den Code bitte an und geben Sie den Pfad zu Ihrer CAB-Datei und dem Class Identifier Ihrer Browser Plug-In-Version an (trusted oder untrusted).
•wie eine Datei in das Browser Plug-In geladen werden soll. Passen Sie bitte den Code an und geben Sie den Pfad zu Ihrem Beispieldokument an.
•wie Schaltflächen für einfache Cursor-Positionierungen implementiert werden.
•wie komplexere Befehle wie z.B. die Sortierung von Tabellen implementiert werden.
•wie das SelectionChanged-Ereignis verwendet wird.
Nähere Informationen dazu finden Sie auch unter dem OBJECT-Element.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>test page For Authentic Browser Plug-in</title>
<SCRIPT LANGUAGE="javascript" For="objPlugIn" EVENT="ControlInitialized">
var strSampleRoot = "http://myRoot/myPath/myDocBaseName";
objPlugIn.SchemaLoadObject.URL = strSampleRoot + ".xsd";
objPlugIn.XMLDataLoadObject.URL = strSampleRoot + ".xml";
objPlugIn.DesignDataLoadObject.URL = strSampleRoot + ".sps";
objPlugIn.StartEditing();
</SCRIPT>
<SCRIPT ID="clientEventHandlers" LANGUAGE="javascript">
var objCurrentRange = Null;
Function BtnDocumentBegin() { objPlugIn.AuthenticView.DocumentBegin.Select(); }
Function BtnDocumentEnd() { objPlugIn.AuthenticView.DocumentEnd.Select(); }
Function BtnWholeDocument() { objPlugIn.AuthenticView.WholeDocument.Select(); }
Function BtnSelectNextWord() { objPlugIn.AuthenticView.Selection.SelectNext(1).Select(); }
Function BtnSortDepartmentOnClick()
{
var objCursor = Null;
var objTableStart = Null;
var objBubble = Null;
var strField1 = "";
var strField1 = "";
var nColIndex = 0;
var nRows = 0;
objCursor = objPlugIn.AuthenticView.Selection;
If (objCursor.IsInDynamicTable())
{
// calculate current column index
nColIndex = 0;
While (True)
{
try { objCursor.GotoPrevious(11); }
catch (err) { break; }
nColIndex++;
}
// GoTo begin of table
objTableStart = objCursor.ExpandTo(9).CollapsToBegin().Clone();
// count number of table rows
nRows = 1;
While (True)
{
try { objTableStart.GotoNext(10); }
catch (err) { break; }
nRows++;
}
// bubble sort through table
For (var i = 0; i < nRows - 1; i++) {
for(var j = 0; j < nRows-i-1; j++) {
objBubble = objCursor.ExpandTo(9).CollapsToBegin().Clone();
// Select correct column in jth table row
objBubble.GotoNext(6).Goto(10,j,2).Goto(11,nColIndex,2).ExpandTo(6);
strField1 = objBubble.Text;
strField2 = objBubble.GotoNext(10).Goto(11,nColIndex,2).ExpandTo(6).Text;
if(strField1 > strField2) {
if(!objBubble.MoveRowUp()) {
alert('Table row move is not allowed!');
return;
}
}
}
}
}
</SCRIPT>
</head>
<body>
<Object id="objPlugIn"
<!-- CodeBase selects 32-bit CAB file (AuthenticBrowserEdition.CAB) -->
<!-- or 64-bit Cab file (AuthenticBrowserEdition_x64.CAB) -->
codeBase="http://myCabfileLocation/AuthenticBrowserEdition.CAB#Version=12,3,0,0"
<!-- Class Id for 32-bit and 64-bit CAB files is the same -->
classid="clsid:B4628728-E3F0-44a2-BEC8-F838555AE780"
width="100%"
height="80%"
VIEWASTEXT>
<PARAM NAME="EntryHelpersEnabled" VALUE="TRUE">
<PARAM NAME="SaveButtonAutoEnable" VALUE="TRUE">
</Object>
<TABLE>
<TR>
<TD><Input Type="button" value="Goto Begin" id="B1" onclick="BtnDocumentBegin()"></TD>
<TD><Input Type="button" value="Goto End" name="B2" onclick="BtnDocumentEnd()"></TD>
<TD><Input Type="button" value="Whole Document" name="B3" onclick="BtnWholeDocument()"></TD>
<TD><Input Type="button" value="Select Next Word" name="B4" onclick="BtnSelectNextWord()"></TD>
</TR>
<TR>
<TD><Input Type="button" value="Sort Table by this Column" id="B6" onclick="BtnSortDepartmentOnClick()"</TD>
</TR>
</TABLE>
<TABLE id=SelTable border=1>
<TR><TD id=SelTable_FirstTextPosition></TD><TD id=SelTable_LastTextPosition></TD></TR>
<TR><TD id=SelTable_FirstXMLData></TD><TD id=SelTable_FirstXMLDataOffset></TD></TR>
<TR><TD id=SelTable_LastXMLData></TD><TD id=SelTable_LastXMLDataOffset></TD></TR>
<TR><TD id=SelTable_Text></TD></TR>
</TABLE>
</body>
<SCRIPT LANGUAGE=javascript For=objPlugIn EVENT=selectionchanged>
var CurrentSelection = Null;
CurrentSelection = objPlugIn.AuthenticView.Selection;
SelTable_FirstTextPosition.innerHTML = CurrentSelection.FirstTextPosition;
SelTable_LastTextPosition.innerHTML = CurrentSelection.LastTextPosition;
SelTable_FirstXMLData.innerHTML = CurrentSelection.FirstXMLData.Parent.Name;
SelTable_FirstXMLDataOffset.innerHTML = CurrentSelection.FirstXMLDataOffset;
SelTable_LastXMLData.innerHTML = CurrentSelection.LastXMLData.Parent.Name;
SelTable_LastXMLDataOffset.innerHTML = CurrentSelection.LastXMLDataOffset;
</SCRIPT>
</html>