📄 scrolltable.java
字号:
/*
* package com.mc.tables.client;
*/
package com.mc.tables.client;
/*
* import com.google.gwt.user.client.ui.*
*/
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.ScrollListener;
import com.google.gwt.user.client.ui.ScrollPanel;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
/*
* class ScrollTable 下拉按钮表 固定表头 Widget
* 从 Composite继承
*/
public class ScrollTable extends Composite {
/**
* tableHead 表头
* tableBody 表体
* vp 垂直面板
* sp 下拉面板
*/
private TGrid tableHead ;
private TGrid tableBody ;
private VerticalPanel vp = new VerticalPanel();
private ScrollPanel sp ;
private TScrollPanel tsp;
/**
* 构造函数
* @param thead 标题数据
*/
public ScrollTable(String [] thead)
{
tableHead = new TGrid(thead);
tableBody = new TGrid(thead);
tsp = new TScrollPanel(tableHead);
tsp.setAlwaysShowScrollBars(false);
vp.add(tsp);
sp= new ScrollPanel(tableBody);
//sp.setStyleName("ks-layouts-Scroller");
vp.add(sp);
addlisten();
tableBody.setHeadVisible(false);
initWidget(vp);
}
/**
* 添加滚动条样式
* @param style 样式名
*/
public void setScrollStyleName(String style){
sp.setStyleName(style);
}
/**
* 滑动框的侦听事件
* 同步滑动的跨度
*/
private void addlisten()
{
sp.addScrollListener(new ScrollListener(){
public void onScroll(Widget arg0, int arg1, int arg2) {
int a = sp.getHorizontalScrollPosition();
tsp.setHorizontalScrollPosition(a);
}
});
}
/**
* 设置表的宽度
* @param width 宽度值
*/
public void setScrollTableWidth(int width)
{
tableHead.setWidth(width +"px");
tableBody.setWidth(width+"px");
tsp.setWidth((width+18)+"px");
sp.setWidth((width+18)+"px");
vp.setWidth((width+18)+"px");
}
/**
* 设置表的宽度
* @param width 宽度值
*/
public void setTableWidth(String width){
tableHead.setWidth(width);
tableBody.setWidth(width);
}
/**
* 设置滑动框的宽度值
* @param widt 宽度值
*/
public void setScrollWidth(String width){
tsp.setWidth(width);
sp.setWidth(width);
vp.setWidth(width);
}
/**
* 添加一行数据
* @param rowData 数据
*/
public void addRowData(String [] rowData){
//int d = tableBody.getRowsCount();
if(tableBody.getRowsCount()==1){
tableBody.addRowData(rowData);
String s_name= "";
for(int i=0;i<tableBody.getColumnsCount();i++ )
{
s_name = tableHead.getColumnWidth(i, "width");
tableBody.setColumnWidth(i, s_name);
}
}
else
{
tableBody.addRowData(rowData);
}
}
/**
* 删除一行数据
* @param row 行号
*/
public void deleteRowData(int row)
{
tableBody.deleteRowsData(row);
}
/**
* 添加头样式
* @param style 样式名
*/
public void addHeadStyle(String style){
tableHead.addHeadStyleName(style);
}
/**
* 设置行样式
* @param row 行号
* @param rstyle 样式名
*/
public void setRowStyle(int row ,String rstyle){
if(row>0) {
tableBody.addRowStyle(row, rstyle);
}
}
/**
* 设置行的高度
* @param row 行号
* @param strh 高度值
*/
public void setRowHigh(int row ,String strh){
if(row>=0){
tableBody.setRowHeigh(row+1, strh);
}
}
/**
* 设置列的宽度
* @param column 列号
* @param strwidth 宽度值
*/
public void setColumnWidth(int column,String strwidth){
tableHead.setColumnWidth(column, strwidth);
tableBody.setColumnWidth(column, strwidth);
}
/**
* 设置表头的高度
* @param h 高度值
*/
public void setHeadHigh(String h){
tableHead.setHeadHigh(h);
}
/**
* 获取单元格值
* @param row 行号
* @param column 列号
* @return 单元格值
*/
public String getCellText(int row ,int column){
String value = "";
if(row >=0 && column>=0){
value = tableBody.getCellText(row+1, column);
}
return value;
}
/**
* 显示出隐藏行数据
* @param row 行号
*/
public void showRowData(int row){
if(row >=0 )
{
tableBody.showRow(row+1);
}
}
/**
* 隐藏指定行号的数据
* @param row 行号
*/
public void hideRowData(int row){
if(row >=0 )
{
tableBody.hideRow(row+1);
}
}
/**
* 隐藏指定列号的数据
* @param column 列号
*/
public void hideColumnData(int column){
if(column >=0 )
{
tableBody.hideColumn(column);
tableHead.hideColumn(column);
}
}
/**
* 显示指定列号的数据
* @param column 列号
*/
public void showColumnData(int column){
if(column >=0 )
{
tableBody.showColumn(column);
tableHead.showColumn(column);
}
}
/**
* 获得列标题
* @param column 列号
* @return 列标题
*/
public String getColumnTitle(int column){
String value= "";
if(column >=0 )
{
value = tableHead.getColumnTitle(column);
}
return value;
}
public void setHeight(int height){
super.setHeight(height+"px");
sp.setHeight((height-20)+"px");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -