* 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' : '';