⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ktable.java~219~

📁 封装了SQL、Socket、WAP、MIME等功能的通用组件
💻 JAVA~219~
字号:
package org.lazybug.skit.table;

import org.lazybug.skit.*;

/**
 * <p>Title: Geniux</p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2006</p>
 *
 * <p>Company: </p>
 *
 * @author David Lau
 * @version 1.0
 */
public class KTable extends Component
{
    /*表格数据*/
    private KTableModel model;
    /*表格双击事件函数*/
    private String dblClickFunc;
    /*表格固定高度*/
    private int height = 22;

    public KTable()
    {
    }

    public KTable(KTableModel model)
    {
        this.model = model;
    }

    /**
     *
     * @return String
     */
    private String getTableWidth()
    {
        return getTableWidth(0);
    }
    private String getTableWidth(int ex)
    {
        if( this.model != null )
        {
            int w = 0;
            for( int i = 0; i < this.model.getColumnCount(); i++ )
            {
                if( this.model.getColWidth(i) == 0 )
                {
                    w = 0;
                    break;
                }
                w += this.model.getColWidth(i);
            }

            if( w > 0 )
            {
                return String.valueOf(w+ex);
            }
        }
        return "100%";
    }
    /**
     *
     * @param sb StringBuffer
     */
    private void setTableHeader(StringBuffer sb)
    {
        if( getTableWidth().equals("100%") )
        {
            for (int i = 0; i < this.model.getColumnCount(); i++)
            {
                sb.append("\n<td class='skit_head_cell' ");
                if( i < this.model.getColumnCount() - 1 )
                {
                    if( this.model.getColWidth(i) <= 0 )
                    {
                        this.model.setColWidth(i, 120);
                    }
                    sb.append("width='" + this.model.getColWidth(i) + "'");
                }
                else
                {
                    this.model.setColWidth(i, 0);
                }
                sb.append(">");
                if (this.model.getColumnName(i) == null ||
                    this.model.getColumnName(i).length() == 0)
                {
                    sb.append("&nbsp;");
                } else
                {
                    sb.append(this.model.getColumnName(i));
                }
                sb.append("</td>");
            }
        }
        else
        {
            for (int i = 0; i < this.model.getColumnCount(); i++)
            {
                sb.append("\n<td class='skit_head_cell' ");
                sb.append("width='" + this.model.getColWidth(i) + "'");
                sb.append(">");
                if (this.model.getColumnName(i) == null ||
                    this.model.getColumnName(i).length() == 0)
                {
                    sb.append("&nbsp;");
                } else
                {
                    sb.append(this.model.getColumnName(i));
                }
                sb.append("</td>");
            }
        }
    }
    /**
     *
     * @return String
     */
    public String toString()
    {
        if( this.model == null ) return "";

        StringBuffer sb = new StringBuffer();
        sb.append("\n<table cellspacing='0' cellpadding='0' id='"+this.getId()+"'");
        if( getTableWidth().equals("100%") )
            sb.append("width='"+getTableWidth()+"'><tr><td>");
        else
            sb.append("width='"+(getTableWidth(20))+"'><tr>");
        //表头部分
        sb.append("\n<td><table id='"+this.getId()+"tb' ");
        sb.append("class='skit_table_head' cellspacing='0' cellpadding='0' ");
        sb.append("width='"+getTableWidth()+"'><tr>");
        setTableHeader(sb);
        sb.append("</tr></table></td>");
        sb.append("<td width='20' class='skit_table_head_ext'>&nbsp;</td>");
        sb.append("\n</tr>\n<tr>");

        //表体部分below
        sb.append("\n<td colspan='2'>");
        sb.append("<div class='skit_table_body' style='height:"+(height-22)+"px'>");
        if( this.model != null  )
        {
            sb.append("\n<table cellspacing='0' cellpadding='0' ");
            sb.append("id='"+getId()+"body' ");
            if( dblClickFunc != null && dblClickFunc.length() > 0 )
            {
                sb.append("ondblclick='"+dblClickFunc+"()' ");
            }
            sb.append("width='"+this.getTableWidth()+"'>");
            for (int i = 0; i < this.model.getRowCount(); i++)
            {
                sb.append("\n<tr>");
                for (int j = 0; j < this.model.getColumnCount(); j++)
                {
                    Object o = this.model.getValueAt(i, j);
                    sb.append("\n<td class='skit_table_cell' ");
                    if (i == 0 && this.model.getColWidth(j) > 0)
                    {
                        sb.append("width='" + this.model.getColWidth(j) + "'");
                    }
                    sb.append(">");
                    sb.append(o);
                    sb.append("</td>");
                }
                sb.append("</tr>");
            }
            sb.append("\n</table>");
        }
        sb.append("\n</div>");
        //表体部分above

        sb.append("\n</td></tr>\n</table>");
        sb.append(model.getPopMenuTag());
        sb.append("\n<SCRIPT LANGUAGE='JavaScript'>");
        sb.append("\n<!--");
        sb.append(getScriptTag());
        if( dblClickFunc != null && dblClickFunc.length() > 0 )
        {
            sb.append(Toolkit.insertJsFunction(dblClickFunc, "Table"+this.getId()+"双击事件函数"));
        }
        sb.append("\n//-->");
        sb.append("\n</SCRIPT>");

        return sb.toString();
    }
    /**
     *
     * @return String
     * @todo Implement this org.lazybug.skit.Component method
     */
    public String getScriptTag()
    {
        return model.getScriptTag();
    }

    public KTableModel getModel()
    {
        return model;
    }

    public String getDblClickFunc()
    {
        return dblClickFunc;
    }

    public int getHeight()
    {
        return height;
    }

    public void setModel(KTableModel model)
    {
        this.model = model;
    }

    public void setDblClickFunc(String dblClickFunc)
    {
        this.dblClickFunc = dblClickFunc;
    }

    public void setHeight(int height)
    {
        this.height = height;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -