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

📄 scrolltable.java

📁 gwt 开发 界面控件的封装
💻 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 + -