时间: 2021-07-31 作者:daque
listview2_0_2.htc:<public:component tagname="listview" lightweight=true><public:attach event="oncontentready" onevent="oncontentready()" />
<public:property name="width" /><public:property name="height" /><public:property name="dataxml" /><public:property name="xmldoc" /><public:property name="text" ><public:property name="currentrow" /><public:property name="selectedrowbackgroundcolour" value="steelblue" /><public:property name="selectedrowcolour" value="white" /><public:property name="lvdata" /><public:property name="lvhead" /><public:property name="toolbardisplay" value="" /><public:property name="toolbar" /><public:property name="table" /><public:property name="listtable" /><public:property name="displaytoolbar" value="true" /><public:property name="toolbardisplay" value=""/><public:property name="wrapheadings" value="true" /> <public:property name="saveoptions" value="[['html','html'],['word','word'],['excel','excel'],['xml','xml']]"/> <public:property name="smallbuttons" value="true"><public:property name="pagesize" value="25"/> <public:property name="pagenumber" value="1"/><public:property name="pagecount" value="0"/><public:property name="rowcount" value="0"/><public:property name="maxrowcount" value="100" /><public:property name="search" value="false" id="searchid"/><public:property name="updaterow" value="false" id="updaterowid"/><public:property name="insertrow" value="false" id="insertrowid"/><public:property name="deleterow" value="false" id="deleterowid"/><public:property name="save" value="false" id="saveid"/><public:property name="print" value="false" id="printid"/><public:property name="copy" value="false" id="copyid"/><public:property name="help" value="false" id="helpid"/><public:property name="columnpicker" value="false" id="columnpickerid"/><public:property name="sort" value="false" id="sortid"/><public:property name="rowinfo" value="true" id="rowinfoid"/><public:property name="pageinfo" value="true" id="pageinfoid"/><public:property name="editrow" value="true" id="editrowid"/><public:property name="buttonnavigation" value="true" id="buttonnavigationid"/><public:property name="ordercolumn" value=""/><public:property name="lvformat" /><public:property name="lvstyle" />
<public:method name="loadtext" /><public:method name="loaddata" /><public:method name="drawdata" /><public:method name="selectrow" /><public:method name="selectpage"/> <public:method name="setrowstyle" /><public:method name="configuretoolbar"/> <public:method name="savegrid"><public:method name="setcolumnproperty" /><public:method name="reload" /><public:method name="formatcolumnvalue" />
<public:event name="onrowselected" id="_lvevtrowselected"/> <public:event name="onlistviewready" id="_lvevtlistviewready"/> </public:component>
<script language="javascript">//------------------------------------------------------------// copyright (c) 2003-2004 leadinsoft. all rights reserved.// version 2.0.1// ahthor dolphin// modify date 2004-1-5//------------------------------------------------------------var l_loading_text = "正在载入数据,请稍候...";var l_abortcontrol_errormessage = "控件初始化堕落,不不妨载入";var navbuttons = ["first","prev","next","last"];var buttons = ['first','prev','next','last','search','updatebtn','insertbtn','deletebtn','save','copy','help','columnpicker','sort','print'];
//-------------------------------------------------------------
/** * 初始化listview * * xmldom范例*/function oncontentready(){ element.innerhtml = "<span style='color:#8f8f8f'><b>"+ l_loading_text +"</b></span>"; xmldoc = new activexobject("microsoft.xmldom"); initialise();}/** * 初始化listview框架 * * 创造listview表头 * 初始化数据数组 * 创造listview的东西栏和全部变量*/function initialise(){ lvdata = new array(); //寄存数据的数组 lvhead = new array(); //寄存表头的数组 lvformat = new object(); //寄存方法化数据东西 lvstyle = new array(); //寄存过滤前提的数组东西 text = new object(); //寄存东西栏消息东西 saveoptions = eval(saveoptions); maxrowcount = parseint(maxrowcount); //载入东西栏消息 loadtext(); //属性变换触发 element.onpropertychange = propertychange;
var html = "";
//确定东西栏能否表露 if(toolbardisplay == '') toolbardisplay = eval(displaytoolbar) ? '' : 'none'; //-------------------------- 创造东西栏 ---------------------------------- html = "<table id=toolbar class=lvtoolbar cellpadding=0 cellspacing=0 style='display:" + toolbardisplay + "'><tr>"; html += "<td id=searchcell>" + makebutton('search') + " </td>"; html += "<td id=editrowcell><table cellpadding=0 cellspacing=0><tr>" html += "<td id=updaterowcell>" + makebutton('updatebtn') + "</td>"; html += "<td id=insertrowcell>" + makebutton('insertbtn') + "</td>"; html += "<td id=deleterowcell>" + makebutton('deletebtn') + " </td>"; html += "</tr></table></td>" //创造navigation栏 for(var i in navbuttons){ html += "<td id=" + navbuttons[i] + "cell>" + makebutton( navbuttons[i] ) + "</td>" if (i==1) html += "<td id=pageinfocell> " + text['page'] + " <select class=lv id=pagenumber></select> " + text['of'] + " <input class=lv id=pagecount readonly type=text size=1></input> </td>"; }
html += "<td id=rowinfocell> " + text['rows'] + " <input class=lv id=rowcount readonly type=text size=2></input></td>"; //navigation栏中断
html += "<td id=savecell><table cellpadding=0 cellspacing=0><tr><td> " + makebutton( 'save' ) + "</td>";
html += "<td><select class=lv id=saveformat>";
for(var i=0;i<saveoptions.length;i++) html += "<option value='"+ saveoptions[i][0] + "'>" + saveoptions[i][1] html += "</select>"; html += "</td></tr></table></td>"; html += "<td id=printcell>" + makebutton('print') + " </td>"; html += "<td id=copycell>" + makebutton('copy') + " </td>"; html += "<td id=columnpickercell>" + makebutton('columnpicker') + " </td>"; html += "<td id=sortcell>" + makebutton('sort') + " </td>"; html += "<td id=helpcell>" + makebutton('help') + " </td>"; html += "</tr></table>";
html = '<div id=' + element.id + '.toolbar style="padding:3pt">' + html + '</div>'; //--------------------------------东西栏中断 ----------------------------------------------
//创造数据地区 html += '<div id=listtable style="width:'+width+';height:'+ height +';overflow:auto" onselectstart="return false;"></div>'; //listview载入框架html element.innerhtml = html;
toolbar = window.document.all[element.id + '.toolbar']; //载入东西栏按钮title for(var btn in buttons) toolbar.all[buttons[btn]].title = text[ buttons[btn].replace(/btn/,'') + 'title']; //载入数据到数组 loaddata(); //初始化navigation栏按钮事变 toolbar.all.pagenumber.onchange = selectpage; toolbar.all.first.onclick = selectpage; toolbar.all.last.onclick = selectpage; toolbar.all.next.onclick = selectpage; toolbar.all.prev.onclick = selectpage; //东西栏按钮变换触发 searchid.firechange(); updaterowid.firechange(); insertrowid.firechange(); deleterowid.firechange(); rowinfoid.firechange(); pageinfoid.firechange(); saveid.firechange(); copyid.firechange(); helpid.firechange(); columnpickerid.firechange(); sortid.firechange(); editrowid.firechange(); printid.firechange(); buttonnavigationid.firechange();
serviceavailable();}
function serviceavailable(){ _lvevtlistviewready.fire();}
/** * 载入东西栏消息 * * 从lvlang.xml文献载入东西栏消息寄存在text东西*/function loadtext(){ xmldoc.async = false; xmldoc.load("lvlang.xml");
var nodelist = xmldoc.documentelement.childnodes; for(var i=0;i<nodelist.length;i++){ text[nodelist[i].nodename] = nodelist[i].text }}
/** * 按照按钮id从text东西里数据天生其html * * 参数: id: 按钮id * 归来: * 按钮html*/function makebutton(id){ var accesskey = ''; var html = '<img id=' + id + 'img src=images/' + id.replace(/btn/,'') + '.gif></img>'; if(!eval(element.smallbuttons)){ var btntext = text[id.replace(/btn/,'') + 'text']; html = '<table cellpadding=0 cellspacing=0><tr><td align=center>' + html + '<td></tr><tr><td style="font-size:8pt">' + btntext + '</td></tr></table>';
var key = btntext.tolowercase().match(/<u>(.*)<\/u>/); if(key) accesskey = 'accesskey=' + key[1]; } return '<button class=lv id=' + id + ' ' + accesskey + '>' + html + '</button>';}
/** * listview属性变换时挪用*/function propertychange(){ switch(event.propertyname){ case 'updaterow': case 'search': case 'save': case 'rowinfo': case 'pageinfo': case 'insertrow': case 'deleterow': case 'editrow': case 'copy': case 'help': case 'columnpicker': case 'sort': case 'print': eval("toolbar.all." + event.propertyname + "cell.style.display = (" + event.propertyname + ".tostring().tolowercase() == 'true') ? '' : 'none'"); break; case 'buttonnavigation': for (var i in navbuttons) eval("toolbar.all." + navbuttons[i] + "cell.style.display = (buttonnavigation.tostring().tolowercase() == 'true') ? '' : 'none'"); break; default: }
if(event.propertyname == 'displaytoolbar') toolbar.childnodes[0].style.display = eval(displaytoolbar) ? '' : 'none';}
/** * 表露listview数据 * * 从lvdata和lvhead数组画listview*/function drawdata(){ _lvelement('listtable').innerhtml = '<table width="100%" border=0 cellspacing=0 cellpadding=0 ><tr><td bgcolor="#000000"><table id="idlvdata" border="0" cellspacing="1" cellpadding="2" width="100%"></table></td></tr></table>'; element.table = _lvelement('idlvdata'); rowcount = lvdata.length;
//计划总页数 pagecount = math.ceil(rowcount/pagesize); var otr,otd; //画listview表头 otr = table.insertrow(); for(var i=0; i<lvhead.length; i++){ otd = otr.insertcell(i); if(eval(wrapheadings)) otd.nowrap = true; otd.classname = lvhead[i]._style; otd.innerhtml = lvhead[i]._value; if(ordercolumn != "" && lvhead[i]._columnname == lvhead[ordercolumn]._columnname){ otd.innerhtml += " <img src=images/" + lvhead[i]._ordersequence + ".gif>"; } //减少单击事变 if(lvdata.length>0) otd.onclick = reorder; } //数据体为空时归来 if(lvdata.length == 0) return;
//按照暂时页数画表露listview数据 for(var r=(pagenumber-1)*pagesize; r<pagenumber*pagesize; r++){ if(r>=rowcount) break; otr = table.insertrow(); for(var c=0; c<lvdata[r].length; c++){ otd = otr.insertcell(c); if(eval(wrapheadings)) otd.nowrap = true;
//确定能否方法数据 if(typeof(lvformat[lvhead[c]._columnname]) != "undefined"){ otd.innerhtml = lvformat[lvhead[c]._columnname][lvdata[r][c]._value]; } else{ otd.innerhtml = lvdata[r][c]._value; } //树立该场所的款式 setstyle(otd,lvdata[r][c]._style); //树立改场所单击事变 otd.onclick = selectrow; } } //窜改东西栏数据 configuretoolbar(pagecount);}
/** * 树立某个简直数据格的款式 * * 参数: * el: 数据格东西 * style: 款式*/function setstyle(el,style){ try{ var arr_style = style.split(";"); for(var i=0;i<arr_style.length;i++){ var fields = arr_style[i].split(":"); el.style.setattribute(fields[0],fields[1]); } } catch(e){ //缺省款式 el.style.setattribute("backgroundcolor","white"); el.style.setattribute("color","blank"); el.style.setattribute("cursor","defaule"); alert(e); }}
/** * listview数据格东西 * 参数: * value: 数据值 * style: 款式*/function data(value, style){ this._value = value; this._style = style; }
/** * listview表头东西 * 参数: * columnname: 字段名 * datatype: 字段典型 * value: 字段刻画,本质表露用 * style: 款式,挪用外部款式表是 classname * 无参数的里面变量: * _border: 能否仍旧排序 * _ordersequence: 排序办法*/function head(columnname, datatype, value, style){ this._columnname = columnname; this._datatype = datatype; this._value = value; this._style = style; this._border = false; this._ordersequence = "";}
/** * 载入数据到数组 * * 将dataxml数据载入lvhead和lvdata数组*/function loaddata(){ xmldoc.loadxml(dataxml); var rows = xmldoc.documentelement.childnodes; var fields; for(var r=0; r<rows.length; r++){ if(r>maxrowcount){ alert(text["maxrowcount"]); break; } fields = rows[r].childnodes; if(r == 0){ //载入表头 for(var i=0;i<fields.length;i++){ var tmp = fields[i].childnodes; lvhead[i] = new head(tmp[0].text,tmp[2].text,tmp[1].text,"head"); } } else{ //载入数据 lvdata[r-1] = new array(); for(var i=0;i<fields.length;i++) lvdata[r-1][i] = new data(fields[i].text,"backgroundcolor:#ffffff;color:#000000;cursor:default"); } } }
/** * 方法化html tag 东西 * */function _lvelement(id){ if (element.all[id].length) return element.all[id][0] else return element.all[id]}
/** * 采用listview一条龙 * */
function selectrow(){ if(typeof(onrowselected) != 'function') return;
if(currentrow != null) if(currentrow.sourceindex > -1) setrowstyle(currentrow, '', '');
row = window.event.srcelement;
while (row.tagname != 'tr'){ row = row.parentelement; if (!row) return; }
setrowstyle(row, selectedrowbackgroundcolour, selectedrowcolour); currentrow = row;
_lvevtrowselected.fire();}
/** * 设定采用行的款式 * */function setrowstyle(row, backgroundcolor, color){ try{ if(backgroundcolor == '' || color == ''){ for(i=0;i<row.cells.length;i++){ setstyle(row.cells[i],lvdata[row.rowindex-1][i]._style); } } else{ for(i=0;i<row.cells.length;i++){ row.cells[i].style.backgroundcolor = backgroundcolor; row.cells[i].style.color = color; } } } catch(e){ alert(e.description); }}
/** * 设定东西栏数据 * * 参数: * newpagecount: 暂时页*/function configuretoolbar(newpagecount){ if (toolbar.all.pagecount.value != newpagecount){ toolbar.all.pagecount.value = newpagecount;
var html = new array()
for (var i=0;i<newpagecount;i++) html[i] = '<option value=' + (i+1) + '>' + (i+1)
toolbar.all.pagenumber.outerhtml = '<select class=lv id=pagenumber>' + html.join('') + '</select>' toolbar.all.pagenumber.onchange = selectpage; }
element.pagecount = newpagecount;
toolbar.all.rowcount.value = rowcount; toolbar.all.pagenumber.value = pagenumber; toolbar.all.first.disabled = eval( parseint(pagenumber) <= 1 ); toolbar.all.prev.disabled = eval( parseint(pagenumber) <= 1 ); toolbar.all.next.disabled = eval( parseint(pagenumber) >= parseint(toolbar.all.pagecount.value) ); toolbar.all.last.disabled = eval( parseint(pagenumber) == parseint(toolbar.all.pagecount.value) || parseint(toolbar.all.pagecount.value) == 0);
toolbar.all.insertbtn.disabled = false; toolbar.all.updatebtn.disabled = (newpagecount == 0); toolbar.all.deletebtn.disabled = eval(toolbar.all.updatebtn.disabled);
toolbar.all.deletebtnimg.style.filter = toolbar.all.deletebtn.disabled ? 'gray' : ''; toolbar.all.updatebtnimg.style.filter = toolbar.all.updatebtn.disabled ? 'gray' : '';
sizeinput(toolbar.all.pagecount); sizeinput(toolbar.all.rowcount);
for (i in navbuttons) { toolbar.all[navbuttons[i]].all[ navbuttons[i] + 'img'].src = 'images/' + navbuttons[i] + (toolbar.all[navbuttons[i]].disabled ? 'off' : '') + '.gif'; }}
/** * 数据页变换时挪用*/function selectpage(){ var e = window.event.srcelement;
if (e.id == 'pagenumber') element.pagenumber = toolbar.all.pagenumber.value; if (e.id == 'first') element.pagenumber = 1; if (e.id == 'next') element.pagenumber = parseint(pagenumber) + 1; if (e.id == 'prev') element.pagenumber = parseint(pagenumber) - 1; if (e.id == 'last') element.pagenumber = toolbar.all.pagecount.value;
element.drawdata();}
/** * 设定form表单长度 * * 参数: * el: form表单东西*/function sizeinput(el){ el.size = el.value.length;}
/** * listview表头单击时挪用,举行排序*/function reorder(){ if (element.table.rows.length == 1) return;
var e = window.event.srcelement; if(e.tagname != "td") e = e.parentelement; var co = 0; ordercolumn = (e.cellindex - co).tostring(); if(lvhead[ordercolumn]._border){ //该表头仍旧排过序 lvhead[ordercolumn]._ordersequence = (lvhead[ordercolumn]._ordersequence == "asc") ? "desc" : "asc"; } else{ //该表头第一次排序 lvhead[ordercolumn]._ordersequence = "asc"; lvhead[ordercolumn]._border = true; } //排序 lvdata.sort(sortrows);
//重画listview drawdata();}
/** * 数据排序用的,确定巨细 * */function sortrows(x,y){ var x1 = x[ordercolumn]._value; var x2 = y[ordercolumn]._value;
if(lvhead[ordercolumn]._datatype.touppercase() == "integer"){ //数据典型是整形 x1 = eval(x1); x2 = eval(x2); } else if(lvhead[ordercolumn]._datatype.touppercase() == "date"){ //数据典型是日子 x1 = parseint(new date(x1).gettime()/1000); x2 = parseint(new date(x2).gettime()/1000); } if(x1>x2){ if(lvhead[ordercolumn]._ordersequence == "asc") return 1; else return -1; } else if(x1<x2){ if(lvhead[ordercolumn]._ordersequence == "asc") return -1; else return 1; } else return 0;}
/** * listview列款式东西 * 参数: * columnname: 字段名 * property: 字段款式 * pattern: 过滤前提 * applytorow: 能否整行变换*/function columnstyle(columnname,property,pattern,applytorow){ this._columnname = columnname; this._property = property; this._pattern = pattern; this._applytorow = applytorow;}
/** * 按照字段名树立数据格属性 * 参数: * columnname: 字段名 * property: 新属性 * pattern: 过滤前提 * applytorow: 能否整行变换*/function setcolumnproperty(columnname,property,pattern,applytorow){ var columnindex = findcolumn(columnname); if(columnindex == -1) return; for(var r=0; r<lvdata.length; r++){ for(var c=0; c<lvdata[r].length; c++){ if(typeof(applytorow) != "undefined" && applytorow){ //pattern参数不为空 if(typeof(pattern) != "undefined" && pattern.length>0){ if(lvdata[r][columnindex]._value.indexof(pattern) != -1) lvdata[r][c]._style = property; } } else{ //pattern参数不为空 if(typeof(pattern) != "undefined" && pattern.length>0){ if(lvdata[r][columnindex]._value.indexof(pattern) != -1) lvdata[r][columnindex]._style = property; } break; } } } lvstyle[lvstyle.length] = new columnstyle(columnname,property,pattern,applytorow);}
/** * 按照字段名方法化数据,并将方法化数据寄存lvformat东西 * 参数: * columnname: 字段名 * arrhtml: 要替代的数据二维数组*/function formatcolumnvalue(columnname,arrhtml){ var columnindex = findcolumn(columnname); if(columnindex == -1) return; if(typeof(arrhtml) != "object") return;
var tmp = new object(); for(var i=0; i<arrhtml.length; i++){ tmp[arrhtml[i][0]] = arrhtml[i][1]; }
lvformat[columnname] = tmp;}
/** * 按照字段名搜索场所索引 * 参数: * columnname: 字段名 * 归来: 字段名场所索引值*/function findcolumn(columnname){ var result = -1; for(var i=0; i<lvhead.length; i++){ if(lvhead[i]._columnname == columnname){ result = i; break; } } return result;}
/** * 按照newxmlstr数据动静减少数据数组,并列画listview * 参数: * newxmlstr: 新xml数据 * mode: 革新数据形式[add:减少数据 overlay:掩盖数据]*/function reload(newxmlstr,mode){ xmldoc.loadxml(newxmlstr); var rows = xmldoc.documentelement.childnodes; var fields; if(typeof(mode) != "undefined" && mode == "overlay"){ //掩盖原始数据 lvdata = new array(); for(var r=0;r<rows.length;r++){ if(r>=maxrowcount){ alert(text["maxrowcount"]); break; } fields = rows[r].childnodes; if(r>=lvdata.length) lvdata[r] = new array(); var pos; for(var i=0;i<fields.length;i++){ pos = findcolumnproperty(i,fields[i].text); if(pos != -1){ for(var j=0;j<fields.length;j++){ lvdata[r][j] = new data(fields[j].text,lvstyle[pos]._property); } break; } else lvdata[r][i] = new data(fields[i].text,"backgroundcolor:#ffffff;color:#000000;cursor:default"); } } } else{ var new_lvdata = new array(); //载入新数据 for(var r=0;r<rows.length;r++){ if(r>=maxrowcount){ alert(text["maxrowcount"]); break; } fields = rows[r].childnodes; new_lvdata[r] = new array(); var pos; for(var i=0;i<fields.length;i++){ pos = findcolumnproperty(i,fields[i].text); if(pos != -1){ for(var j=0;j<fields.length;j++){ new_lvdata[r][j] = new data(fields[j].text,lvstyle[pos]._property); } break; } else new_lvdata[r][i] = new data(fields[i].text,"backgroundcolor:#ffffff;color:#000000;cursor:default"); } }
var totalrow = lvdata.length+new_lvdata.length; if(totalrow > maxrowcount){ //假设总额据大于最大数量则截断过剩的旧数据 var trunln = totalrow - maxrowcount; var start = lvdata.length-trunln-1; if(start<0) start = 0; //jscript5.5扶助 lvdata.splice(start,trunln); } //将新数据介入lvdata数组 lvdata = new_lvdata.concat(lvdata); } drawdata();}
/** * 按照pos,value在过滤前提数组东西搜索列的property * 参数: * pos: 当前线索引序号 * value: 当前线的值 * 归来: 找到归来索引序号,要不归来-1*/function findcolumnproperty(pos,value){ for(var i=0; i<lvstyle.length; i++){ if(lvhead[pos]._columnname == lvstyle[i]._columnname){ if(value.indexof(lvstyle[i]._pattern) != -1) return i; } } return -1;}</script>lvlang.xml:<?xml version="1.0" encoding="gb2312"?><lvlang><!-- grid --><!-- button hints --> <searchtitle>填写探求前提</searchtitle> <updatetitle>革新采用记载</updatetitle> <firsttitle>第一页</firsttitle> <prevtitle>向前翻一页</prevtitle> <nexttitle>向后翻一页</nexttitle> <lasttitle>结果一页</lasttitle> <inserttitle>减少一条新记载</inserttitle> <deletetitle>简略采用记载</deletetitle> <savetitle>生存grid (方法:html, word or excel)</savetitle> <copytitle>正片grid到剪贴板</copytitle> <helptitle>表露listview扶助</helptitle> <columnpickertitle>采用grid列</columnpickertitle> <clipboardcopy>正片grid数据到剪贴板</clipboardcopy> <sorttitle>减少排序字段</sorttitle> <printtitle>打字与印刷grid数据</printtitle> <viewtitle>表露采用记载</viewtitle>
<!-- text --> <searchtext>探求</searchtext> <updatetext>革新</updatetext> <firsttext>首页</firsttext> <prevtext>上一页</prevtext> <nexttext>下一页</nexttext> <lasttext>尾页</lasttext> <inserttext>插入</inserttext> <deletetext>简略</deletetext> <savetext>生存</savetext> <copytext>正片</copytext> <helptext>扶助</helptext> <columnpickertext>一切列</columnpickertext> <sorttext>排序</sorttext> <printtext>打字与印刷</printtext> <viewtext><![cdata[<u>v</u>iew]]></viewtext>
<page>页</page> <of>共</of> <rows>行</rows><!-- alarm --> <maxrowcount>数据大于承诺的最大数量,机动截断!</maxrowcount></lvlang>testlistview2_0_2.htm:<html xmlns:mylist><?import namespace="mylist" implementation="listview2_0_2.htc"/><head><title> test listview </title><style>table.lvtoolbar {font-family:tahoma;font-size:8pt;}select.lv {font-family:tahoma;font-size:8pt;border:1pt solid dimgray}input.lv {font-family:tahoma;font-size:8pt;border:1pt solid dimgray;text-align:right}tr.lvheading {background-color:gainsboro;cursor:hand}td.lvheading {padding:0px}table.lvheading {font-family:tahoma;font-size:8pt;height:100%;width:100%;border:1pt outset;padding:0px;}table.lv {font-family:tahoma;font-size:8pt;border-color:dimgray;border-collapse:collapse;}.head{ background-color: #dfdfdf; border-left:solid #ffffff 1.5px; border-top:solid #ffffff 1.5px; border-right:solid #808080 1.8px; border-bottom:solid #808080 1.8px; padding-left: 1px; padding-top: 3px; padding-bottom: 1px; text-align:left; font-size: 12px; cursor:hand;}
td{ font-size: 12px;}</style><script language="javascript"><!--function clickrow(){ //return;}
var alarmlevel = new array(4);alarmlevel[0] = new array("1","平常日记");alarmlevel[1] = new array("2","普遍报警");alarmlevel[2] = new array("3","其次报警");alarmlevel[3] = new array("4","重要报警");
var alarmflag = new array(2);alarmflag[0] = new array("false"," ");alarmflag[1] = new array("true","<img src='http://edu.chinaz.com/get/program/program_other/images/check.png'>");
function initialize(){ olist.setcolumnproperty('severity','backgroundcolor:red;color:#000000;cursor:default','4',true); olist.setcolumnproperty('severity','backgroundcolor:yellow;color:#000000;cursor:default','3',true); olist.setcolumnproperty('severity','backgroundcolor:#efd887;color:#000000;cursor:default','2',true); olist.setcolumnproperty('severity','backgroundcolor:#f9efd0;color:#000000;cursor:default','1',true); olist.formatcolumnvalue('severity',alarmlevel); olist.formatcolumnvalue('acknowledged',alarmflag); olist.maxrowcount = "50"; olist.pagesize = "20"; olist.drawdata();}function test2(){ olist.selectedrowbackgroundcolour = "#0000a0";}function adddata(){ olist.reload("<output><row><id>1898673</id><creatorname>hwlscheck</creatorname><sourceip>218.2.116.50_0.0.5.2</sourceip><acknowledged>false</acknowledged><creationtime>fri dec 05 14:42:18 cst 2003</creationtime><severity>2</severity><eventno>2</eventno><devicetype>2</devicetype><sourcename>218.2.116.50_0.0.5.2</sourcename><displaytitle>摆设报警</displaytitle><displaystring>调换机8端口的状况变为enable/down</displaystring></row><row><id>1898702</id><creatorname>hwlscheck</creatorname><sourceip>218.2.119.26_0.0.1.5</sourceip><acknowledged>false</acknowledged><creationtime>fri dec 05 14:42:56 cst 2003</creationtime><severity>2</severity><eventno>2</eventno><devicetype>2</devicetype><sourcename>218.2.119.26_0.0.1.5</sourcename><displaytitle>摆设报警</displaytitle><displaystring>调换机24端口的状况变为enable/down</displaystring></row><row><id>1898671</id><creatorname>trap probe 1</creatorname><sourceip>172.20.0.51</sourceip><acknowledged>true</acknowledged><creationtime>fri dec 05 14:42:18 cst 2003</creationtime><severity>3</severity><eventno>1.3.6.1.6.3.1.1.5.3</eventno><devicetype>1</devicetype><sourcename>172.20.0.51</sourcename><displaytitle>linkdown 刻画:通讯链路作废</displaytitle><displaystring>harbourslotnumber(槽号)--6. ifindex(接口索引号)--14.</displaystring></row><row><id>1898672</id><creatorname>hwlscheck</creatorname><sourceip>218.2.116.50_0.0.5.1</sourceip><acknowledged>false</acknowledged><creationtime>fri dec 05 14:42:18 cst 2003</creationtime><severity>2</severity><eventno>2</eventno><devicetype>2</devicetype><sourcename>218.2.116.50_0.0.5.1</sourcename><displaytitle>摆设报警</displaytitle><displaystring>调换机7端口的状况变为enable/down</displaystring></row><row><id>1898669</id><creatorname>hwlscheck</creatorname><sourceip>61.155.233.242_0.0.1.3</sourceip><acknowledged>true</acknowledged><creationtime>fri dec 05 14:42:18 cst 2003</creationtime><severity>4</severity><eventno>2</eventno><devicetype>2</devicetype><sourcename>61.155.233.242_0.0.1.3</sourcename><displaytitle>摆设报警</displaytitle><displaystring>调换机24端口的状况变为enable/down</displaystring></row><row><id>1898703</id><creatorname>trap probe 1</creatorname><sourceip>172.20.0.51</sourceip><acknowledged>false</acknowledged><creationtime>fri dec 05 14:42:59 cst 2003</creationtime><severity>2</severity><eventno>1.3.6.1.6.3.1.1.5.4</eventno><devicetype>1</devicetype><sourcename>172.20.0.51</sourcename><displaytitle>linkup 刻画:通讯链路回复平常</displaytitle><displaystring>harbourslotnumber(槽号)--3. ifindex(接口索引号)--6.</displaystring></row><row><id>1898677</id><creatorname>hwlscheck</creatorname><sourceip>218.2.117.214_0.0.3.3</sourceip><acknowledged>true</acknowledged><creationtime>fri dec 05 14:42:21 cst 2003</creationtime><severity>2</severity><eventno>2</eventno><devicetype>2</devicetype><sourcename>218.2.117.214_0.0.3.3</sourcename><displaytitle>摆设报警</displaytitle><displaystring>调换机8端口的状况变为enable/down</displaystring></row><row><id>1898699</id><creatorname>syslog probe 1;</creatorname><sourceip>192.168.2.54</sourceip><acknowledged>false</acknowledged><creationtime>fri dec 05 14:42:53 cst 2003</creationtime><severity>2</severity><eventno>vman-1-vman</eventno><devicetype>0</devicetype><sourcename>192.168.2.54</sourcename><displaytitle>vman-1-vman</displaytitle><displaystring>普遍报警: 2003年12月05日 礼拜五 14时42分46秒 gsr12016-192.168.2.54(192.168.2.54) et0(1) 端口流出速率为8655584.000000胜过了下限8500000.000000</displaystring></row><row><id>1898692</id><creatorname>hwlscheck</creatorname><sourceip>218.2.116.154_0.0.0.2</sourceip><acknowledged>false</acknowledged><creationtime>fri dec 05 14:42:45 cst 2003</creationtime><severity>3</severity><eventno>2</eventno><devicetype>2</devicetype><sourcename>218.2.116.154_0.0.0.2</sourcename><displaytitle>摆设报警</displaytitle><displaystring>调换机7端口的状况变为enable/up</displaystring></row><row><id>1898666</id><creatorname>hwlscheck</creatorname><sourceip>61.155.233.242_0.0.0.2</sourceip><acknowledged>false</acknowledged><creationtime>fri dec 05 14:42:17 cst 2003</creationtime><severity>2</severity><eventno>2</eventno><devicetype>2</devicetype><sourcename>61.155.233.242_0.0.0.2</sourcename><displaytitle>摆设报警</displaytitle><displaystring>调换机2端口的状况变为enable/down</displaystring></row><row><id>1898697</id><creatorname>hwlscheck</creatorname><sourceip>218.2.117.198_0.0.0.6</sourceip><acknowledged>false</acknowledged><creationtime>fri dec 05 14:42:53 cst 2003</creationtime><severity>1</severity><eventno>2</eventno><devicetype>2</devicetype><sourcename>218.2.117.198_0.0.0.6</sourcename><displaytitle>摆设报警</displaytitle><displaystring>调换机4端口的状况变为enable/up</displaystring></row></output>","overlay");}//--></script></head>
<body onload="initialize()"><h3 class="title">listview htc for ilog jtgo: custom classes</h3><mylist:listview id="olist" dataxml="<output> <columns> <column1> <fieldname>id</fieldname> <description>华文刻画1</description> <datatype>string</datatype> </column1> <column2> <fieldname>creatorname</fieldname> <description>华文刻画2</description> <datatype>string</datatype> </column2> <column3> <fieldname>sourceip</fieldname> <description>华文刻画3</description> <datatype>string</datatype> </column3> <column4> <fieldname>acknowledged</fieldname> <description>华文刻画4</description> <datatype>string</datatype> </column4> <column5> <fieldname>creationtime</fieldname> <description>华文刻画5</description> <datatype>date</datatype> </column5> <column6> <fieldname>severity</fieldname> <description>华文刻画6</description> <datatype>string</datatype> </column6> <column7> <fieldname>eventno</fieldname> <description>华文刻画7</description> <datatype>string</datatype> </column7> <column8> <fieldname>devicetype</fieldname> <description>华文刻画8</description> <datatype>string</datatype> </column8> <column9> <fieldname>sourcename</fieldname> <description>华文刻画9</description> <datatype>string</datatype> </column9> <column10> <fieldname>displaytitle</fieldname> <description>华文刻画10</description> <datatype>string</datatype> </column10> <column11> <fieldname>displaystring</fieldname> <description>华文刻画11</description> <datatype>string</datatype> </column11> </columns> <row><id>1898698</id><creatorname>hwlscheck</creatorname><sourceip>218.2.117.198_0.0.1.0</sourceip><acknowledged>false</acknowledged><creationtime>fri dec 05 14:42:53 cst 2003</creationtime><severity>2</severity><eventno>2</eventno><devicetype>2</devicetype><sourcename>218.2.117.198_0.0.1.0</sourcename><displaytitle>摆设报警</displaytitle><displaystring>调换机5端口的状况变为enable/up</displaystring></row><row><id>1898706</id><creatorname>trap probe 1</creatorname><sourceip>172.20.0.51</sourceip><acknowledged>true</acknowledged><creationtime>fri dec 05 14:43:07 cst 2003</creationtime><severity>4</severity><eventno>1.3.6.1.6.3.1.1.5.4</eventno><devicetype>1</devicetype><sourcename>172.20.0.51</sourcename><displaytitle>linkup 刻画:通讯链路回复平常</displaytitle><displaystring>harbourslotnumber(槽号)--6. ifindex(接口索引号)--14.</displaystring></row><row><id>1898681</id><creatorname>hwlscheck</creatorname><sourceip>218.2.118.202_0.0.0.4</sourceip><acknowledged>false</acknowledged><creationtime>fri dec 05 14:42:22 cst 2003</creationtime><severity>2</severity><eventno>2</eventno><devicetype>2</devicetype><sourcename>218.2.118.202_0.0.0.4</sourcename><displaytitle>摆设报警</displaytitle><displaystring>调换机6端口的状况变为enable/up</displaystring></row><row><id>1898691</id><creatorname>trap probe 1</creatorname><sourceip>218.2.116.74</sourceip><acknowledged>true</acknowledged><creationtime>fri dec 05 14:42:36 cst 2003</creationtime><severity>3</severity><eventno>1.3.6.1.4.1.2011.2.6.2.0.268503561</eventno><devicetype>0</devicetype><sourcename>218.2.116.74</sourcename><displaytitle>unknown trap event.</displaytitle><displaystring>hwippoolname--adsl.</displaystring></row><row><id>1898688</id><creatorname>hwlscheck</creatorname><sourceip>61.155.233.230_0.0.1.3</sourceip><acknowledged>false</acknowledged><creationtime>fri dec 05 14:42:30 cst 2003</creationtime><severity>3</severity><eventno>2</eventno><devicetype>2</devicetype><sourcename>61.155.233.230_0.0.1.3</sourcename><displaytitle>摆设报警</displaytitle><displaystring>调换机13端口的状况变为enable/up</displaystring></row>
</output>" width="700" height="300" onrowselected="clickrow()" /><br><br><button onclick="adddata()">add new data</button><button onclick="test2()">change selectrow backgroundcolor</button></body></html>