Update jscrollpane / viewable area when click on JButton

Hi all,
I have a JTable inside a JScrollPane. I use some JButtons to do some row selections on the JTable.
I would like the viewable area / scroll pane to increment when the row selections are changed using the JButtons. By doing this I wish to see, at the bottom of the scrollpane the row that was selected by the JButton. (i.e. I want the behaviour you get if you select a row then use the arrow keys to move up and down the rows).
Below is a single class which sets up the table buttons etc. A lot of the length comes from the table's data so don't worry.
If you run it and click on the "Next team member" button you will see what it currently does.
package ui;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.AbstractTableModel;
* Class Window displays a frame in which there is a table and some buttons to
* manipulate the table.  It is used as an example of manipulating table data.
public class Window extends JFrame
     * Data members.
     * ========================================================================
     private JTable table;
     private JScrollPane scroller;
     private final static int noButtons= 4;
     private final static String[] buttonNames=
          "Pick for team", "Unpick", "Next team member", "Next non-team member"
     private JButton[] buttons= new JButton[noButtons];
      * End of Data members.
      * ========================================================================
      * Constructor.
      * ========================================================================
     public Window()
          setTitle("Testing table manipulation");
          setSize(1024,300);
          setDefaultCloseOperation(EXIT_ON_CLOSE);
          setLayout(new BorderLayout());
          // Make the table.
          table= makeTable();
          // Create the scroll pane.
          scroller= new JScrollPane(table);
          scroller.setSize(800,300);
          // Create buttons to manipulate the data.
          for (int i= 0; i < noButtons; i++)
               buttons= new JButton(buttonNames[i]);
               buttons[i].addActionListener(new ButtonHandler(buttonNames[i]));
          // A panel for the buttons.
          JPanel buttonPanel= new JPanel();
          buttonPanel.setSize(224,300);
          for (int i= 0; i < noButtons; i++)
               buttonPanel.add(buttons[i]);
          // Add everything to the frame.
          JPanel contentPane= (JPanel)this.getContentPane();
          contentPane.add(scroller,BorderLayout.WEST);     
          contentPane.add(buttonPanel,BorderLayout.EAST);
          // Make visible.
          setVisible(true);
     * End of Constructor.
     * ========================================================================
     * Methods.
     * ========================================================================
     // Makes a table.
     private JTable makeTable()
          // The table model.     
          TableModel tm= new TableModel();
          // The actual table.
          JTable jt= new JTable(tm);
          // The table's selection model.
          jt.getSelectionModel().addListSelectionListener(new RowSelectionListener());
     return jt;
     * End of Methods.
     * ========================================================================
     * Inner classes
     * ========================================================================
     * Inner class TableModel manages the table model for the table in Window.
     * This class contains the real data and methods to manipulate that data.
     private class TableModel extends AbstractTableModel
          // Data.
          Vector<String> columns;
          Vector<Vector> rows;
          public TableModel()
               columns= new Vector<String>();
               rows= new Vector<Vector>();
               columns.add("Surname");
               columns.add("Firstname");
               columns.add("SquadNo");
               columns.add("Position");
               columns.add("In team?");
               Vector<Object> v= new Vector<Object>();
               v.add("McGeady");
               v.add("Aiden");
               v.add(46);
               v.add("AM RLC");
               v.add(true);
               rows.add(v);
               v= new Vector<Object>();
               v.add("McGovern");
               v.add("Michael");
               v.add(47);
               v.add("GK");
               v.add(false);
               rows.add(v);
               v= new Vector<Object>();
               v.add("Zurawski");
               v.add("Maciej");
               v.add(7);
               v.add("F C");
               v.add(true);
               rows.add(v);
               v= new Vector<Object>();
               v.add("McManus");
               v.add("Stephen");
               v.add(44);
               v.add("D LC");
               v.add(true);
               rows.add(v);
               v= new Vector<Object>();
               v.add("Virgo");
               v.add("Adam");
               v.add(4);
               v.add("D/F RC");
               v.add(false);
               rows.add(v);
               v= new Vector<Object>();
               v.add("Feguson");
               v.add("Barry");
               v.add(6);
               v.add("DM C");
               v.add(false);
               rows.add(v);
               v= new Vector<Object>();
               v.add("Boyd");
               v.add("Kris");
               v.add(19);
               v.add("S C");
               v.add(false);
               rows.add(v);
               v= new Vector<Object>();
               v.add("Prso");
               v.add("Dado");
               v.add(9);
               v.add("S C");
               v.add(false);
               rows.add(v);
               v= new Vector<Object>();
               v.add("Gordon");
               v.add("Craig");
               v.add(1);
               v.add("GK");
               v.add(false);
               rows.add(v);
               v= new Vector<Object>();
               v.add("Pressley");
               v.add("Steven");
               v.add(4);
               v.add("D RC");
               v.add(false);
               rows.add(v);
               v= new Vector<Object>();
               v.add("Hartley");
               v.add("Paul");
               v.add(7);
               v.add("AM RC");
               v.add(false);
               rows.add(v);
               v= new Vector<Object>();
               v.add("Smith");
               v.add("John");
               v.add(10);
               v.add("AM L");
               v.add(false);
               rows.add(v);
               v= new Vector<Object>();
               v.add("Smith");
               v.add("John");
               v.add(10);
               v.add("AM L");
               v.add(false);
               rows.add(v);
               v= new Vector<Object>();
               v.add("Smith");
               v.add("John");
               v.add(10);
               v.add("AM L");
               v.add(false);
               rows.add(v);
               v= new Vector<Object>();
               v.add("Smith");
               v.add("John");
               v.add(10);
               v.add("AM L");
               v.add(false);
               rows.add(v);
               v= new Vector<Object>();
               v.add("Smith");
               v.add("John");
               v.add(10);
               v.add("AM L");
               v.add(false);
               rows.add(v);
               v= new Vector<Object>();
               v.add("Smith");
               v.add("John");
               v.add(10);
               v.add("AM L");
               v.add(false);
               rows.add(v);
               v= new Vector<Object>();
               v.add("Smith");
               v.add("John");
               v.add(10);
               v.add("AM L");
               v.add(false);
               rows.add(v);
               v= new Vector<Object>();
               v.add("Smith");
               v.add("John");
               v.add(10);
               v.add("AM L");
               v.add(false);
               rows.add(v);
               v= new Vector<Object>();
               v.add("Smith");
               v.add("John");
               v.add(10);
               v.add("AM L");
               v.add(false);
          // AbstractTableModel methods.
          // The number of rows.
          public int getRowCount()
               return rows.size();
          // The number of columns.
          public int getColumnCount()
               return columns.size();
          // The value at row, column.
          public Object getValueAt(int row, int column)
               return (rows.elementAt(row)).elementAt(column);
          // Allows the column names to be set.
          // Also obtains the column name at column.
          public String getColumnName(int column)
               return columns.elementAt(column);
          // Allows boolean columns to be displayed as checkboxes.
          public Class getColumnClass(int columnIndex)
               return getValueAt(0,columnIndex).getClass();
          // Is the cell at row, column editable?
          public boolean isCellEditable(int row, int column)
               return true;
          // Allows the data to be changed.
          public void setValueAt(Object o, int row, int column)
          (rows.elementAt(row)).setElementAt(o, column);
          fireTableDataChanged(); // Very important.     
     * Inner class RowSelectionListener handles selection events on a Window
     * instance's table rows.
     private class RowSelectionListener implements ListSelectionListener
          public void valueChanged(ListSelectionEvent e)
               //Ignore extra messages.
     if (e.getValueIsAdjusting())
     return;
     ListSelectionModel lsm = (ListSelectionModel)e.getSource();
     if (!lsm.isSelectionEmpty())
     int selectedRow = lsm.getMinSelectionIndex();
     String s= "";
     for (int i= 0; i < table.getColumnCount(); i++)
          s+= (table.getValueAt(selectedRow, i)).toString() + " ";
     System.out.println(s); // Would be appended to the textarea.
     * Inner class buttonHandler handles events from the buttons.
     private class ButtonHandler implements ActionListener
          // Data members.
          private String name;
          // Constructor.
          // Sets the name.
          public ButtonHandler(String nm)
               name= nm;
          public void actionPerformed(ActionEvent ae)
               if (name.equals(buttonNames[0])) // "Pick for team"
                    changeStatus(true);
               else if (name.equals(buttonNames[1])) // "Unpick"
                    changeStatus(false);
               else if (name.equals(buttonNames[2])) // "Next team member"
                    int row;
                    if (table.getSelectionModel().isSelectionEmpty())
                    row= -1;
                    else
                    row= table.getSelectedRow();
                    // From next row until end of rows, look for correct value.
                    while (true)
                    for (int i= (row+1); i < table.getRowCount(); i++)
                         // The in team? column is the last one.
                         int inTeamColumn= table.getColumnCount()-1;
                         if (((Boolean)table.getValueAt(i,inTeamColumn)).booleanValue() == true)
                              table.getSelectionModel().setSelectionInterval(i, i);
                              return;
                    // Go back to the start.
                    row= -1;
               else if (name.equals(buttonNames[3])) // "Next non-team member"
                    int row;
                    if (table.getSelectionModel().isSelectionEmpty())
                    row= -1;
                    else
                    row= table.getSelectedRow();
                    // From next row until end of rows, look for correct value.
                    while (true)
                    for (int i= (row+1); i < table.getRowCount(); i++)
                         // The in team? column is the last one.
                         int inTeamColumn= table.getColumnCount()-1;
                         if (((Boolean)table.getValueAt(i,inTeamColumn)).booleanValue() == false)
                              table.getSelectionModel().setSelectionInterval(i, i);
                              return;
                    // Go back to the start.
                    row= -1;
          // Changes whether they were picked or unpicked.
          // picked = true means they were picked.
          private void changeStatus(boolean picked)
               int row= table.getSelectedRow();
               if (row < 0)
                    // Should be a dialogue (or do nothing?)
                    System.out.println("Error! No row was selected.");
               else
                    for (int i= 0; i < table.getColumnCount(); i++)
                         if (table.getColumnName(i).equals("In team?"))
                              boolean boolVal= (Boolean)table.getValueAt(row, i);
                              if (boolVal == !picked)
                              table.setValueAt(picked, row, i);
                    // Reselect the row.
                    table.getSelectionModel().setSelectionInterval(row, row);
          // Find the next one who has value picked.
          private void findNext(boolean picked)
     * End of Inner Classes.
     * ========================================================================
* Test program.
* ========================================================================
     public static void main(String[] args)
          new Window();
     * End of Test program.
     * ========================================================================

why do you make lots of points that don't help before answering the question?They may not help with the immediate problem, but they may help with future problems, if you take the time to understand what I am saying.
If I make the points after answering the question, then you probably won't read them.
You should read about packages - they let you give classes the same name if they are in different packages.Just because you can do something doesn't mean you should
A class name should be descriptive. Window is not very descriptive.
Even for a simple text case I would use something like WindowTest.
If I am just reading your source code and I see a line like the following:
Window window = new Window();The first thing that comes to mind is that you are trying to create an AWT Window. How do I know that you've given your class a package name? I should not need to look at the package or import statments to know what class you are talking about. Any time you can reduce confusion the better.
Created my own TableModel because this program is a mock up of a more complicated oneWhy go to all this trouble for a simple demo program? Your question is about scrolling, not the data in the table. I would use:
JTable table = new JTable(30, 5);The less clutter you have in your demo program. The easier it is for us to see whats happening.
I mention the DefaultTableModel, because the majority of people who post table related questions on the forum don't fully understand how TableModels work or the flexibility of the DefaultTableModel and end up getting themselves into trouble by trying to unnecessarily extend AbstractTableModel. Remember your last posting was about an incorrect implementation of a TableModel when you couldn't get the column names to work.
Why don't you use JDK 1.5 - why not download it?JDK1.4 does everthing I want.
I need generics in my app (booleans, strings and numbers in my vectors) so I use them.You don't need to use Generics. You just decided you wanted to use them. The TableModel still stores Integers and Booleans etc. The compiler just does the conversion for you.
Another design is to create a class to hold your data and then create a TableModel based on this class. For example here is an example of a TableModel that holds Stock Securities:
import java.util.*;
import javax.swing.table.*;
public class SecurityTableModel extends AbstractTableModel
     List list;
     private static String[] columnNames =
          "Security",
          "Symbol",
          "Exchange",
          "Type",
          "Asset Class",
          "Goal"
     public SecurityTableModel()
          SecurityManager manager = SecurityManager.getSharedInstance();
          list = manager.getList();
          Collections.sort( list );
     public int getColumnCount()
          return columnNames.length;
     public int getRowCount()
          return list.size();
     public String getColumnName(int col)
          return columnNames[col];
     public Object getValueAt(int row, int col)
          Security security = (Security)list.get( row );
          switch (col)
               case 0: return security.getName();
               case 1: return security.getSymbol();
               case 2: return security.getExchange();
               case 3: return security.getType();
               case 4: return security.getAssetClass();
               case 5: return security.getGoal();
          return null;
     public Class getColumnClass(int c)
          return String.class;
     public boolean isCellEditable(int row, int col)
          return false;
     public void xxxsetValueAt(Object value, int row, int col)
} Your getter and setter of the Security class then convert the data as required.
who is OP? Original Poster

Similar Messages

  • Update flock, now errormessages when clicking link in mail

    Hello,
    I screencasted my problem, click on the following link to see. Anybody suggestions what happenend?
    http://screencast.com/t/JDLIViOuY
    thanks
    Filip

    I was having the same problem and finally figured out how to change this bahavior.  Go to Safari preferences under the 'Tabs' settings.  Make sure the field "Open pages in tabs instead of windows" is set to NEVER.  That should do the trick.

  • HT1338 My mac book pro has three updates ready to install.  When I select all three of them and click install it shows them downloading, the computer restarts, and when the computer turns back on and I go to updates again they are still there to install. 

    My mac book pro has three updates ready to install.  When I select all three of them and click install it shows them downloading, the computer restarts, and when the computer turns back on and I go to updates again they are still there to install.  Help

    Best to install them one at a time, re-booting between each one.

  • Updated to ios7 and iTunes 11.1, Music won't play or Error sign ! when clicked on

    After updating my ios and itunes my music on my ipod will not play and an error sign ! shows up to the left of every song when clicked to play. Also when i undock the ipod it would show that all my music is gone! But when i redock the ipod it shows that all the music is still there! This is really frustraing to me because i have spent countless hours organizing my playlist and it would take about the same amount of time to redo them. Please Help!

    having the same issue, everything i have tried doesn't seem to work. never had a problem until i installed 11.1
    all my albums are now in the itunes library but even that isn't making any diffrence, spent a good few hours yesterday reinstalling my music...just a waste of time, same thing happened. will keep you posted if i find any answers

  • I frequently get pop up windows when i click on a page and also get asked to update my flash player when it is up to date and also get these annoying pop up ads

    constant pop ups on the page i'm on, pop ups in a new tab opening up when i click on a page and the redirecting to a page telling me i need to update my flash player when it's up to date

    hello, you have various malicious addons present. please try these steps:
    # [[Reset Firefox – easily fix most problems|reset firefox]] (this will keep your bookmarks and passwords)
    # afterwards go to the firefox menu [[Image:New Fx Menu]] > addons > extensions and in case there are still extensions listed there, disable them.
    # finally run a full scan of your system with different security tools like the [http://www.malwarebytes.org/products/malwarebytes_free free version of malwarebytes] and [http://www.bleepingcomputer.com/download/adwcleaner/ adwcleaner] to make sure that adware isn't present in other places of your system as well.
    [[Troubleshoot Firefox issues caused by malware]]

  • I tried to update my nephew iphone 4 version 4.3.4 (8k2), I did back-up everything before attempting to update and the result when I click down-load and update, it does not update instead it says,  itunes could not contact the iphone software update etc.

    Hi to all,
    I tried to update my nephew iphone 4 version 4.3.4 (8k2), I did back-up everything before attempting to update and the result when I click down-load and update, it does not update instead it says,  itunes could not contact the iphone software update server because you are not connected to the internet. I did check my wire-less connections and the connection from my PC to wire-less is hundred percent okay. I did search using google.com to confirm and my connections is good. Is there any problem regardings my firewalls or any help will be appreciated. Thanks

    Hi bosefire,
    Thanks for visiting Apple Support Communities.
    You can use the steps in this article to troubleshoot your iTunes connection:
    Can't connect to the iTunes Store
    http://support.apple.com/kb/TS1368
    Regards,
    Jeremy

  • I try to updates some apps but when i click on update nothing shows up and I have 10 apps need to update??????

    I try to updates some apps but when i click on update nothing shows up and I have 10 apps need to update??????
    Also I already parchesed WhatsApp Messenger apps but it did not show in my ipad!!! thanks

    You're not alone > Apps update not working. Was before but...: Apple Support Communities
    Try again later today or tomorrow.
    The problem has been reported to Apple.
    The WhatsApp app should sync when the issues are resolved.

  • I updated my Itunes the other day and now, when clicking on the itunes icon, the program does not open?? I have tried uninstalling and reinstalling, resetting the computer, checking permissions, running as adminstrator.. nothing is working?? Help!!

    I updated my Itunes the other day and now, when clicking on the itunes icon, the program does not open?? I have tried uninstalling and reinstalling, resetting the computer, checking permissions, running as adminstrator.. nothing is working?? Help!!

    Amazing steps you've done so far! The great news is this is very unlikely an issue with your iPhone.
    I've run into a similar issue lately as well. I narrowed it down to one song that was causing 30 songs not to sync. I removed the song from the sync list (unchecked it) and all 29 songs were able to sync.
    You may be running into a similar issue. This may be a problem with this version of iTunes, an issue with one song or a group of songs; hard to know for sure. It's important to narrow down and isolate the cause. Most imporantly get that music back on there!
    The way to narrow down the casue add just a few songs at a time (even 1, just to get that first sync finished). Manually syncing is what you'll need here.
    Plug in your iPhone, on the Summary screen (shows a picture of your iPhone, the iOS version, Restore iPhone....; etc). Under the Options area at the bottom choose to Manually Manage Videos and Music then choose Apply in the lower right. The music that's on your iPhone now should be removed from your iPhone now. You're now able to sync music manually.
    The link below explains how to drag the songs from the iTunes library on the computer on to your iPhone which will start the sync. Add just one song just to see if you can get 1 of those hundreds of songs on there. If you can, awesome! Keep adding until you find the song or group of songs that are causing this issue.
    http://support.apple.com/kb/HT1535
    Please let me know how things are going.
    Cheers!

  • How do I enable my iTouch? I am trying to update the apps but when I click "Update All", a pop up "Your Apple ID has been disabled." How do I change it so I can enable my iTouch? Thanks.

    How do I enable my iPod? I am trying to update the apps but when I click "Update All", a pop up "Your Apple ID has been disabled." How do I change it so I can enable my iPod? My iPod is not locked (I know my password), but I just can't figure out how to enable it. Thanks.

    This may help:
    http://support.apple.com/kb/ts2446

  • Cancelled contract lines are populating in the SR form's subject tab when clicking on 'Get Contracts' button

    Cancelled contract lines are populating in the SR form's subject tab when clicking on 'Get Contracts' button. But user says, it should not be populated. What could be the reason? Please suggest.
    I have told the user :
    "In the case of a renewed contract, if the service request is logged during the effectivity of the original contract (which is now Expired), the original contract will be retrieved. If the service request is logged during the effectivity of the renewal contract then only the renewal contract will be retrieved.
      Contract Entitlement on Subject tab is based on Contract Start and End dates. All the contracts i.e. expired, active, cancelled will appear until the end date. As we can see the contract ES-10165 is end dated on 09-DEC-2014, hence it will appear on the subject tab as per the functionality."
    But the User is saying:
    "Contract coverage is clear to be based on dates, and that is quite clear to me as well… the problem comes with the different statuses.
    A SR can be associated to an “EXPIRED” contract line because the SR creation date could be falling between coverage line start and end dates, but can never be related to a “CANCELLED” line.
    This “CANCELLED” status means that the line is not valid for the contract, so if it is not valid for a contract, it is not valid for referencing a job…and this is only creating wrong costs associations."

    Hi Sudhakar,
    Drop inline message components for each of the textFields and the textArea and then run the application. You could also use a message list component but inline message components for each of the input components would give you a clear idea if any errors are occuring. In case any such errors are indeed occuring then the situation can be analysed further.
    Hope this helps
    Cheers
    Giri :-)

  • I Photo, I Movie, and Photo Booth Icons are visible but when clicked on won't open.

    What can I do? I Photo, I Movie, and Photo Booth Icons are visible but when clicked on won't open.

    What happens when you try?

  • When I clicked on Firefox, the update bar started but when it stopped Firfox would not open. The blue screen of death popped up and said something about a new installation. We restarted the computer and now Firefox will not open. Help!

    When I clicked to open Firefox the update bar appeared and an update loaded. Usually when this happens Firefox will open up when the update is finished. This time it did not open. when I clicked on the icon again the blue screen opened and said something about a new installation and if this was the first time you have seen this screen restart your computer and try again. I restarted the computer and when I clicked on the Firefox icon the "hour glass" would appear like it was trying to open but it never would open. I don't know what else to do.

    See below -- the way I asked the question the first time may not be clear. This post was a goof but I can't figure out how to delete it

  • I have an ipod touch 32gb. Model: MC008BT Version: 5.1.1. 3rd ed.   Recently when clicking play on any song the ipod will shuffle through as many songs as there are in the album or playlist until it reaches the end without playing any songs. It also does

    I have an ipod touch 32gb. Model: MC008BT Version: 5.1.1. 3rd ed.
    Recently when clicking play on any song the ipod will shuffle through as many songs as there are in the album or playlist until it reaches the end without playing any songs. It also does not go through each song. For example:
    a 62 song playlist. I start on song 16. Immediatly the song will shuffle: 16-26-54-62 and then back to the main screen. Also when the songs are shuffling the play button in the top right corner is on.
    Music will play if i start from track one with shuffle turned off and repeat turned on. But then i am limited each time to 1-5 songs.
    Ipod has been in excellent working order since this has happened.
    any suggestions on how to fix?

    Try:
    - Reset the iOS device. Nothing will be lost
    Reset iOS device: Hold down the On/Off button and the Home button at the same time for at
    least ten seconds, until the Apple logo appears.
    - Unsync all music and resync
    - Reset all settings      
    Go to Settings > General > Reset and tap Reset All Settings.
    All your preferences and settings are reset. Information (such as contacts and calendars) and media (such as songs and videos) aren’t affected.
    - Restore from backup. See:                                 
    iOS: How to back up                                                                
    - Restore to factory settings/new iOS device.             

  • The App Store said I needed to switch countries so I clicked the button and it switched it for me but now I can't update my apps but when I try to change it through settings it still says the country is the u.s. I don't know what to do to change it back

    The App Store said I needed to switch countries so I clicked the button and it switched it for me but now I can't update my apps but when I try to change it through settings it still says the country is the u.s. I don't know what to do to change it back

    See  >  Change your iTunes Store country
    Here  >  http://support.apple.com/kb/HT1311
    If necessary Contact iTunes Customer Service and request assistance
    Use this Link  >  Apple  Support  iTunes Store  Contact

  • I recently backed up my iphone to itunes, when after backing up a message showed that I needed to update my iphone. I clicked ok, and after updating, it said I had to restore my phone to its factory settings. I cannot find where it backed up pictures

    I recently backed up my iphone to itunes, when after backing up a message showed that I needed to update my iphone. I clicked ok, and after updating, it said I had to restore my phone to its factory settings. I cannot find where it backed up all of my pictures from my phone.

    If you backed up the device, all the data is in the backup. Restore the backup.
    A better question is why would an intelligent person not copy the pictures from the device to the computer regularly, especially before attempting an update, as the device is designed to be used?

Maybe you are looking for

  • I have some ebooks that were given to me and I want them in my Ipad...how do I get them in? they are on my MacBook Air, Please help

    I got an Ipad for graduation; I have some Ebooks that are in my email and I want to upload them in my Ipad...how can I do that...I have a MacBook right now....Does anybody know...?

  • Oracle Forms 9i and Oracle RDBMS 8

    Hi, Can anyone tell me whether Oracle Forms 9i will work against an Oracle 8 database? We have an older version of Oracle Forms (Oracle Developer 6i) that I could also try against Oracle 8 but I'm concerned about conflicts with on the client-side wit

  • Type of product cost

    Hello, Can anyone please tell me how can I find out what kind of product cost is being used in my system. I want to know whether product cost by period, order or by sales order in my system. Can any please suggest me. thank you.

  • Adding EXIF standards back into a JPG file using Photoshop

    Can anyone tell me how this is done? I'm trying to get photos (JPG files) I've edited in Photoshop and placed on an SD card to display on a Panasonic plasma television (TC-P42X1). The televison will only recognize JPG files with DCF or EXIF standards

  • Excise part

    hai friends     how can we update the excise related information in excise registers of RG23A RG23c, RG23D in indian scenario. abilash