客户端实现类似于DataGrid的输入表格控件[4]

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

本文简介:选择自 curllion 的 blog

s.parent.innerhtml = str;
   
    //写到textboxs中
    var k = 0;
    for(var j=0;j<this.colcount;j++)
    {
       if(this.postcols[j] == 0)
          continue;
       tmp = "";
       for(var i=0;i<this.rowcount;i++)
       {
           tmp = tmp + this.rows[i].data[j] + ",";
       }
       this.textboxs[k].value = tmp.substr(0,tmp.length-1);
       k++;
    }
}
//在指定位置插入一行
clientdatagrid.prototype.insertrowat = function(index,datarow)
{
    tmprows = this.rows.slice(0,index).concat(new array(datarow)).concat(this.rows.slice(index,this.rowcount+1));
    this.rows = tmprows;
    this.rowcount++;
    this.selectedindex = -1;
}
//在指定位置插入多行
clientdatagrid.prototype.insertrowsat = function(index,datarows)
{
   tmprows       = this.rows.slice(0,index).concat(datarows).concat(this.rows.slice(index,this.rowcount+1));
   this.rows     = tmprows;
   this.rowcount = this.rowcount + datarows.length;
   this.selectedindex = -1;
}
//在最后面插入一行
clientdatagrid.prototype.insertrow = function(datarow)
{
    this.rows = this.rows.concat(new array(datarow))
    this.rowcount++;
}
//再最后面插入多行
clientdatagrid.prototype.insertrows = function(datarows)
{
   this.rows = this.rows.concat(datarows);
   this.rowcount = this.rowcount + datarows.length;
   this.selectedindex = -1;
}

//选中一行
clientdatagrid.prototype.selectrow = function(index)
{
    this.selectedindex = index;
    //因为标题行不算,所以从1开始
    for(var i = 1 ;i<=this.rowcount ;i++)
    {
        var tmpcss = "";
       
        if(i==this.selectedindex + 1)
        {
            if(this.selectedcss != null)
                tmpcss = "window.document.all(\"" + this.id + "_datagrid\").rows(" + i + ").style.csstext='"+ this.selectedcss +"'";
            else
                tmpcss = "window.document.all(\"" + this.id + "_datagrid\").rows(" + i + ").style.csstext=''";
        }
        else
        {
            if(this.rowcss != null)
                tmpcss = "window.document.all(\"" + this.id + "_datagrid\").rows(" + i + ").style.csstext='"+ this.rowcss +"'";
            else
                tmpcss = "window.document.all(\"" + this.id + "_datagrid\").rows(" + i + ").style.csstext=''";
        }
        eval(tmpcss);
    }
}
//更改表格的值
clientdatagrid.prototype.cellchange = function(x,y,value)
{
    //先改变对象的值
    this.rows[y].data[x] = value;
    //写到textboxs中
    var k = 0;
    for(var j=0;j<this.colcount;j++)
    {
       if(this.postcols[j] == 0)
          continue;
       tmp = "";
       for(var i=0;i<this.rowcount;i++)
       {
           tmp = tmp + this.rows[i].data[j] + ",";
       }<

本文关键:客户端实现类似于DataGrid的输入表格控件
 

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

go top