Datawindow无处不在:datawindow in java(转载)

转载 2007年09月16日 12:42:00

From: http://dev.21tx.com/2005/01/18/14251.html

//转载加注:datawindow经过我三年的使用,是如此方便快捷。虽然powerj不在使用,但现在pb11和datawindow.net再显风光。datawindow以控件的面目出现在.net里,可以说真是无处不在。如此简单好用的东西很多人不用,上次我一个朋友居然试图给一个同学提供delphi版的report tool for PB,让我"痛斥"了一番。归结其原因,还是sybase没宣传好。可以说任何程序,特别是java这样的不长于UI编写的语言,在jBuilder和datawindow的作用下,还是很容易写一个界面和数据操作的。

*/////////////////////////////////////////////////////////////////////////
*
*  This is a basic
Java datawindow example.
*  I want explaine you how to use a datawindow control for java development.
*  (its so basic...)
*
* Autor:
*  David Arcia 09-09-2002 (david.arcia@softhome
.net)
*
//////////////////////////////////////////////////////////////////////////*/

import javax.
Swing.JOptionPane;
import javax.swing.JFrame;
import powersoft.datawindow.JDataWindowControl;
import powersoft.datawindow.Blob;
import powersoft.powerj.db.java_sql.Transaction;


public class JDataWindow extends JFrame{

//The datawindow
private JDataWindowControl dwcActual;
//The powerbuilder library path (where dataobjects are stored)
private final String LIBRERIA = new String("C:/
PB7/java.pbl");
//Transaction objetc for database connection
private Transaction trans; 

 
  //Contructor
  public JDataWindow() { 
  //New datawindow control
dwcActual = getDataWindow("dw_products",true,true,true);
//Not null ?
if(dwcActual == null) return;
  }//ends method


/********************************************************************************
* CONNECTION USING POWERSOFT TRANSACTION OBJECT (as SQLCA in PowerBuilder)
********************************************************************************/
//This method connect with database (by example, a
Oracle database)
public boolean setConnect(){
        trans = new Transaction();
            trans.re
GISterDriver( "oracle.JDBC.driver.OracleDriver" );
            trans.setDataSource("jdbc:oracle:thin:@192.168.22.10:1521:FALCON");
            trans.setUserID( "rjimenez" );
            trans.setPassword( "defalcon" );                      
            //Error ?
            if(!trans.connect()){
                System.err.println("Connection failed.");
                return false;
            }                     
            return true;                                     
}//ends method



/********************************************************************************
* JAVA DATAWINDOW'S CREATION
********************************************************************************/
    //Create a datawindow
    public JDataWindowControl getDataWindow(String dataobject){
          JDataWindowControl dwc = new JDataWindowControl(); 
  //Assign a datawindow library
          dwc.setSourceFileName(LIBRERIA);
          //Assign a datawindow object to the dw control
          dwc.setDataWindowObjectName(dataobject);
          //Some properties...
          dwc.setVScroll( true );
          dwc.insertRow(0);   
      //Assign the transaction object to dw
      dwc.setTransaction(trans); 
          //return object created
          return dwc;
    }//ends method


  //Optional...Method for row selection
  public void selectRow(int row){
  if(row > 0){
dwcActual.selectRow(0,false);
dwcActual.selectRow(row,true);
dwcActual.scrollToRow(row);
dwcActual.setRow(row);
}
  }//ends method

 
  //Optional... for to make a datawindow editable or not
  public void setEditable(JDataWindowControl dwc, boolean editar){ 
  //Accept text
  dwcActual.acceptText();
  //get column number
  int cols = Integer.parseInt(dwc.describe("Datawindow.column.count"));  
//////////////////////////////////////////////////////////////////////////  
  String indicador = (editar) ? "1" : "0";
//////////////////////////////////////////////////////////////////////////
  editable = indicador == "1";
  //Change the editable porperty
  for(int cont=1; cont <= cols; cont++){
  dwc.modify("#" + cont + ".TabSequence = " + indicador) ; 
  } 
  }//ends method



  //Optional... Insert new row to data
Windows end.
  public void getNewRow(){
  int row=dwcActual.insertRow(0);  
  selectRow(row);
  }//final de metodo


  //Optional... Delete a datawindow row
  public void deleteRow(){
int boton=JOptionPane.showConfirmDialog(null,"Delete actual row ?", "Deleting",
JOptionPane.YES_NO_OPTION);
if(boton == 0) dwcActual.deleteRow(dwcActual.getRow()); 
  }//Fin de metodo

         
/********************************************************************************
* THIS ARE THE DATAWINDOW'S EVENT MANAGERS
*
* The events that support datawindow are clasificated in differents interfaces
* according it function.
*
********************************************************************************

Interfaces:
MouseListener,FocusListener,DatabaseListener,EditChangedListener,
ItemListener,PrintListener,RowChangeListener, etc...

Datawindow events:
public void leftButtonDoubleClick (MouseEvent event){}
public void leftButtonClick (MouseEvent event){}
public void leftButtonDown ( MouseEvent event){}
public void leftButtonUp ( MouseEvent event){}
public void middleButtonClick ( MouseEvent event){}
public void middleButtonDoubleClick ( MouseEvent event){}
public void mouseMove ( MouseEvent event){}
public void rightButtonClick ( MouseEvent event){}
public void rightButtonDoubleClick ( MouseEvent event){}
public void rightButtonDown ( MouseEvent event){}
public void rightButtonUp ( MouseEvent event){}
public void getFocus ( FocusEvent event){}
public void loseFocus ( FocusEvent event){}
public void DBError ( DatabaseEvent event){}
public void SQLPreview ( DatabaseEvent event){}
public void editChanged ( EditChangedEvent event){}
public void itemChanged ( ItemEvent event){}
public void itemChangeAccepted ( ItemEvent event){}
public void itemError ( ItemEvent event){}
public void itemFocusChanged ( ItemEvent event){}    
public void printEnding ( PrintEvent event){}
public void printMarginChanging ( PrintEvent event){}
public void printPageStarting ( PrintEvent event){}
public void printStarting ( PrintEvent event){}
public void retrieveEnd ( RetrieveEvent event){}
public void retrieveRow ( RetrieveEvent event){}
public void retrieveStart ( RetrieveEvent event){} 
public void rowChanged ( RowChangeEvent event){}
public void rowChanging ( RowChangeEvent event){}
etc...


********************************************************************************/

}//ends classe
 

相关文章推荐

Datawindow常使用的内容

一、数据窗口中的每一个字段有一个序号,该序号是数据窗口的data   source中排列的序号,在程序中可用序号来对字段进行访问。如:dw_1.Modify( "#3.width   =   10 "...
  • tlammon
  • tlammon
  • 2016年03月27日 11:41
  • 938

PowerBuilder Sorting In Datawindow

  • 2015年06月10日 18:01
  • 389B
  • 下载

在PB中如何控制DATAWINDOW列的修改属性

在编制管理信息应用系统中,一般都会遇到一个共同问题,那就是如何根据不同情况去控制表中的数据列,比如对于同一DATAWINDOW不同的用户有不同的操作(如对于数据录入人员可以更改数据,而对于查询人员一般...

在PB中如何控制DATAWINDOW列的修改属性 -- 方法较全

在编制管理信息应用系统中,一般都会遇到一个共同问题,那就是如何根据不同情况去控制表中的 在编制管理信息应用系统中,一般都会遇到一个共同问题,那就是如何根据不同情况去控制表中的数据列,比如对于同一DAT...

Powerbuilder编程过程中的 DataWindow 数据窗口函数

本节介绍的主要内容如下: · 与数据库有关的函数 · 行操作 · 列操作 · 数据操作 PowerBuilder为数据窗口控件提供了丰富的函数,这些函数使用户能够在使用数据窗口控件时得心应手...

DATAWINDOW技巧

1、如何复制graph风格的datawindow中的图形到剪切板? 答:dw_1.clipbord("gr_1") 2、如何使用datawindow的查询模式? 答:dw_1.Object.Da...

给B处添加链接,整个统计情况dataWindow更新

问题简介:此页面的jsp被多个页面共用,修改的时候注意不要引起其他页面的改动。页面之间的不同是列名的不同。各个列名是通过for循环得到的。此页面不同于其他页面的是第一列列名的不同,要想不对其他页面产生...

将datawindow中的指定列的数据导出的一个函数

//======================================================================================// 函数: f_exp...
  • yyoinge
  • yyoinge
  • 2011年06月24日 01:25
  • 880

PB datawindow中修改列的属性

在编制管理信息应用系统中,一般都会遇到一个共同问题,那就是如何根据不同情况去控制表中的数据列,比如对于同一DATAWINDOW不同的用户有不同的操作(如对于数据录入人员可以更改数据,而对于查询人员一般...

powerbuild 外部数据源(external)的datawindow赋值

首先建立一个exteranl类型的freeform,并在窗体中dw控件引用它。 这里用一个自定义的长字符串作为它的数据源。 freeform中各列的列名情况如图: 赋值代码: string r...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Datawindow无处不在:datawindow in java(转载)
举报原因:
原因补充:

(最多只允许输入30个字)