📄 ktable.java~212~
字号:
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;
public KTable()
{
}
public KTable(KTableModel model)
{
this.model = model;
}
/**
*
* @return String
*/
private String getTableWidth()
{
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);
}
}
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(" ");
} 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(" ");
} 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'> </td>");
sb.append("\n</tr>\n<tr><td>");
//表体部分below
sb.append("\n<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 + -