home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / JDesignerPro / Jdp3_0.exe / data1.cab / Program_Files / LoadGridPrice.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-09  |  9.5 KB  |  378 lines

  1. import java.awt.BorderLayout;
  2. import java.awt.CheckboxGroup;
  3. import java.awt.Color;
  4. import java.awt.Container;
  5. import java.awt.Event;
  6. import java.awt.List;
  7. import java.awt.Panel;
  8. import java.util.StringTokenizer;
  9. import java.util.Vector;
  10.  
  11. public class LoadGridPrice extends JDPClassLayout {
  12.    JDPUser user;
  13.    JDPJagg jaggSQL;
  14.    JDPPopupMessage popuppanel;
  15.    JDPMaskEdit JDPMaskEditMain;
  16.    String moduleParameter;
  17.    Panel Main;
  18.    JDPTextGrid DetailGrid1;
  19.    String prevProdid;
  20.    int prevTablerow = -1;
  21.  
  22.    public void InitClass(JDPUser var1, Panel var2, String var3) {
  23.       this.user = var1;
  24.       this.moduleParameter = var3;
  25.       this.jaggSQL = new JDPJagg(var1.jaggPath);
  26.       ((Container)this).setLayout(new BorderLayout());
  27.       this.popuppanel = new JDPPopupMessage(var1, this);
  28.       ((Container)this).add(this.popuppanel);
  29.       this.JDPMaskEditMain = new JDPMaskEdit();
  30.       new CheckboxGroup();
  31.       this.Main = new Panel();
  32.       this.DetailGrid1Main();
  33.       this.Main.setLayout(new BorderLayout());
  34.       ((Container)this).add("Center", this.Main);
  35.       this.Main.add("Center", this.DetailGrid1);
  36.       this.InitComponents();
  37.       var1.gParm.addElement(this);
  38.    }
  39.  
  40.    public boolean handleEvent(Event var1) {
  41.       switch (var1.id) {
  42.          case 503:
  43.          case 504:
  44.          case 505:
  45.             this.popuppanel.postEvent(var1);
  46.             return false;
  47.          case 1005:
  48.             if (var1.target.equals(this.DetailGrid1)) {
  49.                this.DetailGrid1FetchPrice();
  50.                return true;
  51.             }
  52.  
  53.             return false;
  54.          default:
  55.             return false;
  56.       }
  57.    }
  58.  
  59.    public void InitComponents() {
  60.    }
  61.  
  62.    public void DetailGrid1Main() {
  63.       this.DetailGrid1SetGridSettings();
  64.    }
  65.  
  66.    public void DetailGrid1LoadGrid(String[] var1) {
  67.       JDPTextGrid var2 = this.DetailGrid1;
  68.       if (var1 != null && var1.length >= 0) {
  69.          int var4 = 0;
  70.          Vector var5 = new Vector();
  71.          String var6 = this.jaggSQL.getSEP();
  72.          int var7 = 0;
  73.          byte var9 = 3;
  74.          new Vector();
  75.          new Vector();
  76.          String var10 = "SELECT title_id, title_id, title, price FROM dbo_titles WHERE (1=1)  ";
  77.          if (var1.length > 0 && var1[0] != null) {
  78.             var10 = var10 + " AND title_id='" + var1[0] + "'";
  79.          }
  80.  
  81.          this.user.mainmsg.setStatusMsg("Accessing database...", 0);
  82.          this.jaggSQL.setDSN("JDP Tutorial");
  83.          this.jaggSQL.setUID("");
  84.          this.jaggSQL.setPWD("");
  85.          this.jaggSQL.setMRW("1000");
  86.          this.jaggSQL.setTOUT("60");
  87.          var4 = this.jaggSQL.execSQL(var10, var5);
  88.          if (var4 == -1) {
  89.             this.user.u.setSqlMessage(this.jaggSQL, var10);
  90.          } else {
  91.             var2.totalDataRows = this.jaggSQL.getRowCount();
  92.             var7 = this.jaggSQL.getRowCount() + 20;
  93.             var2.currentText = new String[var9][var7];
  94.             var2.cellChanged = null;
  95.             var2.rowChanged = null;
  96.             var2.columnSelected = null;
  97.             byte var11 = 1;
  98.             var2.rowKey = new String[var7][var11];
  99.             var2.recordLockValue = new String[var7];
  100.  
  101.             for(int var13 = 0; var13 < var7 - 20; ++var13) {
  102.                String var8 = (String)var5.elementAt(var13);
  103.                if (var8 != null && var8.trim().compareTo("") != 0) {
  104.                   StringTokenizer var3 = new StringTokenizer(var8);
  105.  
  106.                   for(int var14 = 0; var14 < var11; ++var14) {
  107.                      var2.rowKey[var13][var14] = var3.nextToken(var6).trim();
  108.                   }
  109.  
  110.                   for(int var15 = 0; var15 < var9; ++var15) {
  111.                      String var12 = var3.nextToken(var6).trim();
  112.                      var2.currentText[var15][var13] = var12;
  113.                      if (var15 == 1 && var2.pullDownValue[1][0].indexOf(var12) >= 0) {
  114.                         var2.currentText[var15][var13] = var2.pullDownList[1][0].getItem(var2.pullDownValue[1][0].indexOf(var12));
  115.                      }
  116.                   }
  117.                }
  118.             }
  119.  
  120.             for(int var18 = var7 - 20; var18 < var7; ++var18) {
  121.                for(int var19 = 0; var19 < var1.length; ++var19) {
  122.                   var2.rowKey[var18][var19] = var1[var19];
  123.                }
  124.             }
  125.  
  126.             var2.newTable();
  127.             this.user.mainmsg.clearStatusMsg();
  128.          }
  129.       } else {
  130.          this.DetailGrid1LoadEmptyGrid();
  131.       }
  132.    }
  133.  
  134.    public void DetailGrid1UpdateRows(String[] var1) {
  135.       JDPTextGrid var2 = this.DetailGrid1;
  136.       if (var1 != null && var1.length >= 0) {
  137.          int var3 = 0;
  138.          int var4 = 0;
  139.          int var5 = 1;
  140.          int var6 = 1;
  141.          boolean var7 = false;
  142.  
  143.          for(int var8 = 0; var8 < var2.rowChanged.length; ++var8) {
  144.             if (var2.rowChanged[var8]) {
  145.                if (var8 >= var2.totalDataRows) {
  146.                   ++var4;
  147.                } else {
  148.                   ++var3;
  149.                }
  150.             }
  151.          }
  152.  
  153.          for(int var9 = 0; var9 < var2.rowChanged.length; ++var9) {
  154.             if (var2.rowChanged[var9]) {
  155.                if (var9 >= var2.totalDataRows) {
  156.                   this.user.mainmsg.setStatusMsg("Inserting row " + Integer.toString(var6++) + " of " + Integer.toString(var4) + "...", 0);
  157.                   this.DetailGrid1SaveData(var9, "I");
  158.                } else {
  159.                   this.user.mainmsg.setStatusMsg("Updating row " + Integer.toString(var5++) + " of " + Integer.toString(var3) + "...", 0);
  160.                   if (this.DetailGrid1SaveData(var9, "U")) {
  161.                      var7 = true;
  162.                   }
  163.                }
  164.  
  165.                var2.rowChanged[var9] = false;
  166.             }
  167.          }
  168.  
  169.          if (var4 > 0 || var7) {
  170.             this.DetailGrid1LoadGrid(var1);
  171.          }
  172.  
  173.       } else {
  174.          this.DetailGrid1LoadEmptyGrid();
  175.       }
  176.    }
  177.  
  178.    public void DetailGrid1DeleteRows(String[] var1) {
  179.       JDPTextGrid var2 = this.DetailGrid1;
  180.       if (var1 != null && var1.length >= 0) {
  181.          int var3 = 0;
  182.          int var4 = 1;
  183.  
  184.          for(int var5 = 0; var5 < var2.rowChanged.length; ++var5) {
  185.             if (var2.rowSelected[var5]) {
  186.                ++var3;
  187.             }
  188.          }
  189.  
  190.          for(int var6 = 0; var6 < var2.rowChanged.length; ++var6) {
  191.             if (var2.rowSelected[var6]) {
  192.                this.user.mainmsg.setStatusMsg("Deleting row " + Integer.toString(var4++) + " of " + Integer.toString(var3) + "...", 0);
  193.                this.DetailGrid1SaveData(var6, "D");
  194.             }
  195.          }
  196.  
  197.          if (var3 > 0) {
  198.             this.DetailGrid1LoadGrid(var1);
  199.          }
  200.  
  201.       } else {
  202.          this.DetailGrid1LoadEmptyGrid();
  203.       }
  204.    }
  205.  
  206.    boolean DetailGrid1SaveData(int var1, String var2) {
  207.       JDPTextGrid var3 = this.DetailGrid1;
  208.       int var4 = 0;
  209.       Vector var5 = new Vector();
  210.       this.jaggSQL.getSEP();
  211.       String var6 = "";
  212.       String var7 = null;
  213.       this.jaggSQL.setDSN("JDP Tutorial");
  214.       this.jaggSQL.setUID("");
  215.       this.jaggSQL.setPWD("");
  216.       this.jaggSQL.setMRW("1000");
  217.       this.jaggSQL.setTOUT("60");
  218.       if (var2.equals("I")) {
  219.          var6 = "INSERT INTO dbo_titles (title_id, title, price, type, pub_id, advance, royalty, ytd_sales, notes, pubdate) VALUES('" + this.user.u.replace(var3.currentText[0][var1], "'", "''") + "', " + "'" + (String)var3.pullDownValue[1][0].elementAt(this.user.u.listIndexOf(var3.pullDownList[1][0], var3.currentText[1][var1])) + "', " + "" + JDPUtils.tonum(var3.currentText[2][var1]) + ", " + "'', " + "'', " + "0, " + "0, " + "0, " + "'', " + "'')";
  220.       } else if (var2.equals("D")) {
  221.          var6 = "DELETE FROM dbo_titles WHERE title_id='" + var3.rowKey[var1][0] + "'";
  222.          if (var3.recordLockValue[var1] != null) {
  223.             var7 = var6;
  224.          }
  225.       } else {
  226.          var6 = "UPDATE dbo_titles SET title = '" + (String)var3.pullDownValue[1][0].elementAt(this.user.u.listIndexOf(var3.pullDownList[1][0], var3.currentText[1][var1])) + "', " + "price = " + JDPUtils.tonum(var3.currentText[2][var1]) + "" + " WHERE title_id='" + var3.rowKey[var1][0] + "'";
  227.          if (var3.recordLockValue[var1] != null) {
  228.             var7 = var6;
  229.          }
  230.       }
  231.  
  232.       var4 = this.jaggSQL.execSQL(var6, var5);
  233.       if (this.user.DEBUG) {
  234.          System.out.println("saveData CNT: " + Integer.toString(var4));
  235.       }
  236.  
  237.       if (var4 == 0 && var7 != null) {
  238.          String[] var8 = new String[]{"Reload", "Update"};
  239.          int[] var9 = new int[]{6, 0};
  240.          JDPMessageDialog var10 = new JDPMessageDialog(this.user, this.user.jdpMainWindow, "Update failed...", "The record has been changed by another user...", var8, var9);
  241.          ((JDPDialog)var10).display();
  242.          if (var10.getPressedButton() != 1) {
  243.             return true;
  244.          }
  245.  
  246.          var5 = new Vector();
  247.          var4 = this.jaggSQL.execSQL(var7, var5);
  248.       }
  249.  
  250.       if (var4 == -1) {
  251.          this.user.u.setSqlMessage(this.jaggSQL, var6);
  252.          return false;
  253.       } else {
  254.          if (var4 == 1) {
  255.             if (var2.equals("I")) {
  256.                this.user.mainmsg.setStatusMsg("Record successfully added.", 3);
  257.             } else if (var2.equals("D")) {
  258.                this.user.mainmsg.setStatusMsg("Record successfully removed.", 3);
  259.             } else {
  260.                this.user.mainmsg.setStatusMsg("Record successfully updated.", 3);
  261.             }
  262.          } else {
  263.             this.user.u.setSqlMessage(this.jaggSQL, var6);
  264.          }
  265.  
  266.          return var7 != null;
  267.       }
  268.    }
  269.  
  270.    public void DetailGrid1LoadEmptyGrid() {
  271.       JDPTextGrid var1 = this.DetailGrid1;
  272.       byte var2 = 3;
  273.       var1.currentText = new String[var2][50];
  274.       var1.cellChanged = null;
  275.       var1.rowChanged = null;
  276.       var1.columnSelected = null;
  277.       var1.rowKey = new String[50][1];
  278.       var1.newTable();
  279.       var1.totalDataRows = 0;
  280.    }
  281.  
  282.    void DetailGrid1SetGridSettings() {
  283.       if (this.DetailGrid1 == null) {
  284.          this.DetailGrid1 = new JDPTextGrid(this.user);
  285.       }
  286.  
  287.       JDPTextGrid var1 = this.DetailGrid1;
  288.       byte var2 = 3;
  289.       var1.columnHeader = new String[var2];
  290.       var1.columnHeaderStyle = new int[var2];
  291.       var1.columnStyle = new int[var2];
  292.       var1.columnHeaderColor = new Color[var2];
  293.       var1.columnColor = new Color[var2];
  294.       var1.columnBGColor = new Color[var2];
  295.       var1.columnProtected = new boolean[var2];
  296.       var1.columnWidth = new int[var2];
  297.       var1.rightJustify = new boolean[var2];
  298.       var1.rowHeader = null;
  299.       var1.columnHeight = null;
  300.  
  301.       for(int var3 = 0; var3 < var2; ++var3) {
  302.          var1.columnHeaderStyle[var3] = 1;
  303.          var1.columnStyle[var3] = 0;
  304.          var1.columnHeaderColor[var3] = Color.black;
  305.          var1.columnColor[var3] = Color.black;
  306.          var1.columnBGColor[var3] = Color.white;
  307.          var1.columnStyle[var3] = 0;
  308.       }
  309.  
  310.       var1.columnProtected[1] = true;
  311.       var1.columnWidth[0] = 56;
  312.       var1.columnWidth[1] = 358;
  313.       var1.columnWidth[2] = 92;
  314.       var1.rightJustify[2] = true;
  315.       var1.columnHeader[0] = "Title Id";
  316.       var1.columnHeader[1] = "Title";
  317.       var1.columnHeader[2] = "Price";
  318.       this.DetailGrid1LoadEmptyGrid();
  319.       this.DetailGrid1LoadChoices();
  320.    }
  321.  
  322.    void DetailGrid1LoadChoices() {
  323.       JDPTextGrid var1 = this.DetailGrid1;
  324.       byte var2 = 3;
  325.       this.jaggSQL.setDSN("JDP Tutorial");
  326.       this.jaggSQL.setUID("");
  327.       this.jaggSQL.setPWD("");
  328.       this.jaggSQL.setMRW("1000");
  329.       this.jaggSQL.setTOUT("60");
  330.       var1.isPullDownCol = new boolean[var2];
  331.       var1.pullDownList = new List[var2][1];
  332.       var1.isPullDownCol[1] = true;
  333.       var1.pullDownList[1][0] = new List();
  334.       var1.pullDownValue[1][0] = new Vector();
  335.       new JDPLoadChoice(this.user, this.jaggSQL, var1.pullDownList[1][0], "title", "title", "dbo_titles", "(1=1)", var1.pullDownValue[1][0]);
  336.    }
  337.  
  338.    public void DetailGrid1Method() {
  339.    }
  340.  
  341.    public void DetailGrid1FetchPrice() {
  342.       JDPTextGrid var1 = this.DetailGrid1;
  343.       int var2 = var1.getPrevRow();
  344.       String var3 = var1.currentText[1][var2];
  345.       if (this.prevProdid == null || !this.prevProdid.equals(var3) || var2 != this.prevTablerow) {
  346.          this.prevProdid = var3;
  347.          this.prevTablerow = var2;
  348.          int var5 = 0;
  349.          Vector var6 = new Vector();
  350.          this.jaggSQL.getSEP();
  351.          new Vector();
  352.          new Vector();
  353.          String var8 = "SELECT price FROM dbo_titles WHERE title = '";
  354.          var8 = var8 + var3;
  355.          var8 = var8 + "'";
  356.          this.user.mainmsg.setStatusMsg("Accessing database...", 0);
  357.          this.jaggSQL.setDSN("JDP Tutorial");
  358.          this.jaggSQL.setUID("");
  359.          this.jaggSQL.setPWD("");
  360.          this.jaggSQL.setMRW("1000");
  361.          this.jaggSQL.setTOUT("60");
  362.          var5 = this.jaggSQL.execSQL(var8, var6);
  363.          if (var5 == -1) {
  364.             this.user.u.setSqlMessage(this.jaggSQL, var8);
  365.          } else if (var5 != 0) {
  366.             String var7 = (String)var6.elementAt(0);
  367.             if (var7 != null && var7.trim().compareTo("") != 0) {
  368.                StringTokenizer var4 = new StringTokenizer(var7);
  369.                var1.currentText[2][var2] = var4.nextToken();
  370.                this.JDPMaskEditMain.formatFloat(var1, 2, var2, "$999,999,999,999.00");
  371.             }
  372.  
  373.             this.user.mainmsg.clearStatusMsg();
  374.          }
  375.       }
  376.    }
  377. }
  378.