row.children[i].style.width = parseint(columns[i].colheader.style.width) + 4;
}
row.selected = selected
}
//方法实现,设置某一行的选种状态
function selectrow(rowindex, selected)
{
var row = rows[rowindex];
if (row == null)
return row;
if (selected)
{
setrowcss(row, true);
if (selectedrows.length > 0 && selectedrows[selectedrows.length - 1].rowindex == rowindex);
else
{
selectedrows[selectedrows.length] = row;
selchange.fire();
}
}
else
{
setrowcss(row, false);
}
return row;
}
//方法实现
function clearselect()
{
clickrow(-1);
}
//内部函数
function setcolwidth()
{
if (rows.length <= 0)
return;
var tablewidth = 0;
for (var i = 0; i < columns.length; ++i)
{
if (i == 0)
columns[i].colheader.style.width = rows[0].children[i].clientwidth - 2;
else
columns[i].colheader.style.width = rows[0].children[i].clientwidth - 4;
tablewidth += parseint(columns[i].colheader.style.width) + 4;
}
datatable.width = tablewidth - 2;
}
//方法实现
function addrow(rowdata)
{
var row = datatable.insertrow();
row.onmousedown = new function("clickrow(" + row.rowindex + ")");
row.ondblclick = new function("var eventobject = createeventobject();eventobject.rowindex = "
+ row.rowindex + ";wantedit.fire(eventobject);");
for (var i = 0; i < rowdata.length; ++i)
{
var td = row.insertcell();
td.innerhtml = rowdata[i];
}
setrowcss(row, false);
//setcolwidth();
return row;
}
array.prototype.remove = function(dx)
{
if(isnan(dx)||dx>this.length){return false;}
this.splice(dx, 1);
}
//方法实现
function delrow(rowindex)
{
datatable.deleterow(rowindex);
//重新格式化
for (var i = 0; i < rows.length; ++i)
{
rows[i].onmousedown = new function("clickrow(" + i + ")");
rows[i].ondblclick = new function("wantedit.fire(" + i + ")");
setrowcss(rows[i], false);
}
//如果删除了已经选中的
var k = -1;
for (var i = 0; i < selectedrows.length; ++i)
{
if (selectedrows[i].rowindex == -1)
k = i;
else
setrowcss(selectedrows[i], true);
}
if (k >= 0)
selectedrows.remove(k);
}
</script>
测试文件(test_htc_listview.aspx)如下:
<%@ page language="c#" %>
<!doctype html public "-//w3c//dtd html 4.0 transitional//en" >
<html>
<head>
<title>test_htc_listview</title>
<meta name="generator" content="microsoft visual studio .net 7.1">