模拟Windows Listview的HTC组件[4]

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

本文简介:选择自 spanzhang 的 blog

 if (downtype == -1)
  return;
  
 with (window.event)
 {
  eventx2 = parseint(clientx);
  cancelbubble = true;
  returnvalue = false;
 }

 switch (true)
 {
  case downtype == 1:
   var dx = eventx2 - eventx1;
   var colwidth = parseint(columns[downspliterindex].colheader.style.width);
   if (colwidth + dx < 1) dx = 1-colwidth;
   colwidth += dx;
   columns[downspliterindex].colheader.style.width = colwidth;
   datatable.width = parseint(datatable.width) + dx;

   for (var i = 0; i < rows.length; ++i)
   {
    //setrowcss(rows[i]);
    for (var j = 0; j < columns.length; ++j)
    {
     if (j == 0)
      rows[i].children[j].style.width = parseint(columns[j].colheader.style.width) + 2;
     else
      rows[i].children[j].style.width = parseint(columns[j].colheader.style.width) + 4;
    }
   }

   setcolwidth();

   header.style.marginleft = (-bodyspan.scrollleft);
  break;

  default:
  break;
 }
 
 element.releasecapture();
 objsizeitem.style.visibility = "hidden";
 downtype = -1;
}

//行的事件:click
function clickrow(rowindex)
{
 if (!window.event.ctrlkey || singleselect == 'true')
 {
  for (var i = 0; i < selectedrows.length; ++i)
  {
   if (selectedrows[i].rowindex >= 0)
    selectrow(selectedrows[i].rowindex, false);
  }
  selectedrows.length = 0;
 }

 if (rowindex >= 0)
  selectrow(rowindex, !rows[rowindex].selected);
}

//内部函数,设置一行选种样式
function setrowcss(row, selected)
{
 if (selected == null)
  selected = row.selected;
 if (selected == null)
  selected = false;

 if (!selected)
 {
  if (row.rowindex % 2 == 0)
  {
   for (var i = 0; i < row.children.length; ++i)
    row.children[i].style.csstext = columns[i].style1;
  }
  else
  {
   for (var i = 0; i < row.children.length; ++i)
    row.children[i].style.csstext = columns[i].style2;
  }
 }
 else
 {
  if (row.rowindex % 2 == 0)
  {
   for (var i = 0; i < row.children.length; ++i)
    row.children[i].style.csstext = columns[i].style11;
  }
  else
  {
   for (var i = 0; i < row.children.length; ++i)
    row.children[i].style.csstext = columns[i].style22;
  }
 }

 for (var i = 0; i < row.children.length; ++i)
 {
  if (i == 0)
   row.children[i].style.width = parseint(columns[i].colheader.style.width) + 2;
  else

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

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

go top