模拟Windows Listview的HTC组件[3]

[入库:2005年8月18日] [更新:2007年3月25日]

本文简介:选择自 spanzhang 的 blog

}

//方法,创建列
function addcolumn(colwidth, colcontent, style1, style2, style11, style22)
{
 var colindex = columns.length;
 columns[colindex] = new column
 (
  document.createelement("span"),
  document.createelement("span"),
  style1,  style2,
  style11, style22
 );
 
 //列标题栏
 columns[colindex].colheader.innerhtml = colcontent;
 with (columns[colindex].colheader.style)
 {
  width = colwidth;
  height = 20;
  textalign = "center";
  backgroundimage = "url(" + headimage + ")";
  overflow = 'hidden';
  headerwidth += parseint(colwidth) + 4;
 }
 columns[colindex].colheader.onclick = new function("var eventobject = createeventobject();eventobject.colindex = "
  + colindex + ";headclick.fire(eventobject);");
 header.insertadjacentelement("beforeend", columns[colindex].colheader);

 //分隔条
 with (columns[colindex].splitter)
 {
  position = "absolute" ;
  if (freezecols == 'false')
   onmousedown = new function("splitterdown(" + colindex + ")");
 }
 with (columns[colindex].splitter.style)
 {
  left = headerwidth - 4;
  width = 4;
  height = 20;
  if (freezecols == 'false')
   cursor = "col-resize";
  backgroundimage = "url(" + splitterimage + ")";
 }
 header.insertadjacentelement("beforeend", columns[colindex].splitter);

 //调整datatable的宽度
 datatable.width = headerwidth - 2;
}

//内部函数,事件onresize
function resize()
{
 with (bodyspan.style)
 {
  width = parseint(element.clientwidth);
  height = parseint(element.clientheight) - 20;
 }
}

//内部函数,体滚动事件onscroll
function bodyscroll()
{
 header.style.marginleft = (-window.event.srcelement.scrollleft) ;
}

//取消选择
function cancelselect()
{
 with (window.event)
 {
  cancelbubble = true ;
  returnvalue = false ;
 }
 return false ;
}

var downspliterindex = -1;
var eventx1;
var eventx2;

//内部函数,分隔条点下
function splitterdown(index)
{
 with (window.event)
 {
  eventx1 = parseint(clientx);
  cancelbubble = true;
  returnvalue = false;
 }
 element.setcapture();

 downspliterindex = index;
 downtype = 1;
 with (objsizeitem.style)
 {
  top = element.offsettop;
  height = element.offsetheight;
  posleft = window.event.clientx - 3;
  visibility = "visible";
 }
}

//内部函数,事件onmousemove
function mousemove()
{
 switch (true)
 {
  case downtype == 1:
   objsizeitem.style.posleft = window.event.clientx - 2;
  break;

  default:
  break;
 }
}

//内部函数,事件onmouseup
function mouseup()
{

本文关键:模拟Windows Listview的HTC组件
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top