How to display time duration (NOT dates) with an input mask in a JTable?

Background: I am trying to display in a JTable, in two columns, the start position and time duration of an audio clip.
They are stored as type float internally eg. startPosition = 72.7 seconds.
However I wish to display on screen in the table in HH:mm:ss:S format. eg. 00:01:12:7. The user can edit the cell and input values to update the internal member fields.
Problem: I am finding it very difficult to implement this - what with the interactions of MaskFormatter, DefaultCellEditor etc.
Also using SimpleDateFormat and DateFormatter does not work as they insist on displaying the day, month, year also in the table cell.
Taking the Swing Tutorial TableFTFEditDemo example as a template,
(http://java.sun.com/docs/books/tutorial/uiswing/components/example-1dot4/index.html#TableFTFEditDemo)
does anyone know how to do this?
I can post my (buggy) modifications to the example code - if it would help.
Appreciate any help.
thanks,
Anil

Here are my modifications to the TableFTFEditDemo example. If you run it, you get an exception
like java.lang.NumberFormatException: For input string: "18:00:03.500"
The two modified classes are taken from the Tutorial and are listed below:
=================
* IntegerEditor is a 1.4 class used by TableFTFEditDemo.java.
import javax.swing.AbstractAction;
import javax.swing.BorderFactory;
import javax.swing.DefaultCellEditor;
import javax.swing.JFormattedTextField;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.KeyStroke;
import javax.swing.SwingUtilities;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.awt.Color;
import java.awt.Component;
import java.awt.Toolkit;
import java.text.DateFormat;
import java.text.NumberFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import javax.swing.text.DateFormatter;
import javax.swing.text.DefaultFormatterFactory;
import javax.swing.text.MaskFormatter;
import javax.swing.text.NumberFormatter;
class TimeRenderer {
     float seconds;
     TimeRenderer(String str) {
          int hSec = Integer.parseInt(str.substring(0,2)) * 60 * 60;
          int mSec = Integer.parseInt(str.substring(2,4)) * 60;
          int sSec = Integer.parseInt(str.substring(4,6));
          float tSec = Integer.parseInt(str.substring(6,7))/10.0F;
          seconds = hSec + mSec + sSec + tSec;
* Implements a cell editor that uses a formatted text field to edit Integer
* values.
public class IntegerEditor extends DefaultCellEditor {
     JFormattedTextField ftf;
     static Date zeroTime = new Date(0L);
     private boolean DEBUG = true;
     SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss.S");
     MaskFormatter maskFo = new MaskFormatter("##:##:##.#");
     protected MaskFormatter createFormatter(String s) {
          MaskFormatter formatter = null;
          try {
               formatter = new MaskFormatter(s);
          } catch (java.text.ParseException exc) {
               System.err.println("formatter is bad: " + exc.getMessage());
               System.exit(-1);
          return formatter;
     public IntegerEditor(int min, int max) throws ParseException {
          super(new JFormattedTextField(new MaskFormatter("##:##:##.#")));
          ftf = (JFormattedTextField) getComponent();
          // Set up the editor for the cells.
          ftf.setFormatterFactory(new DefaultFormatterFactory(new DateFormatter(sdf)));
          ftf.setFocusLostBehavior(JFormattedTextField.PERSIST);
          // React when the user presses Enter while the editor is
          // active. (Tab is handled as specified by
          // JFormattedTextField's focusLostBehavior property.)
          ftf.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "check");
          ftf.getActionMap().put("check", new AbstractAction() {
               public void actionPerformed(ActionEvent e) {
                    if (!ftf.isEditValid()) { // The text is invalid.
                         ftf.setBorder(BorderFactory.createLineBorder(Color.RED));
                         ftf.setBackground(Color.PINK);
                         ftf.postActionEvent(); // inform the editor
                    } else
                         try { // The text is valid,
                              ftf.commitEdit(); // so use it.
                              ftf.postActionEvent(); // stop editing
                         } catch (java.text.ParseException exc) {
     // Override to invoke setValue on the formatted text field.
     public Component getTableCellEditorComponent(JTable table, Object value,
               boolean isSelected, int row, int column) {
          JFormattedTextField ftf = (JFormattedTextField) super
                    .getTableCellEditorComponent(table, value, isSelected, row, column);
          System.out.println("value:" + value);
//          long milliseconds =(long) (Float.parseFloat(value.toString()) * 1000);
          long milliseconds =(long) (((Float) value).floatValue() * 1000);
          Date dt = new Date(milliseconds);
          ftf.setValue(dt);
          return ftf;
     // Override to ensure that the value remains an Integer.
     public Object getCellEditorValue() {
          JFormattedTextField ftf = (JFormattedTextField) getComponent();
          Object o = ftf.getValue();
          try {               
               Calendar cal = Calendar.getInstance();
               cal.setTime((Date)o);
               float seconds = cal.getTimeInMillis()/1000.0F;
               return sdf.format(o);
               //return new Float(seconds);
          } catch (Exception exc) {
               System.err.println("getCellEditorValue: can't parse o: " + o);
               exc.printStackTrace();
               return null;
     // Override to check whether the edit is valid,
     // setting the value if it is and complaining if
     // it isn't. If it's OK for the editor to go
     // away, we need to invoke the superclass's version
     // of this method so that everything gets cleaned up.
     public boolean stopCellEditing() {
          JFormattedTextField ftf = (JFormattedTextField) getComponent();
          if (ftf.isEditValid()) {
               try {
                    ftf.commitEdit();
               } catch (java.text.ParseException exc) {
          } else { // text is invalid
               ftf.setBorder(BorderFactory.createLineBorder(Color.RED));
               ftf.setBackground(Color.PINK);
               return false; // don't let the editor go away
          return super.stopCellEditing();
//=====================================================
* TableFTFEditDemo.java is a 1.4 application that requires one other file:
*   IntegerEditor.java
import javax.swing.JFrame;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.text.ParseException;
* This is exactly like TableDemo, except that it uses a
* custom cell editor to validate integer input.
public class TableFTFEditDemo extends JPanel {
    private boolean DEBUG = false;
    public TableFTFEditDemo() throws ParseException {
        super(new GridLayout(1,0));
        JTable table = new JTable(new MyTableModel());
        table.setPreferredScrollableViewportSize(new Dimension(500, 70));
        //Create the scroll pane and add the table to it.
        JScrollPane scrollPane = new JScrollPane(table);
        //Set up stricter input validation for the integer column.
     //   table.setDefaultEditor(Float.class,
       //                        new IntegerEditor(0, 100));
     //If we didn't want this editor to be used for other
     //Integer columns, we'd do this:
     table.getColumnModel().getColumn(3).setCellEditor(
          new IntegerEditor(0, 100));
        //Add the scroll pane to this panel.
        add(scrollPane);
    class MyTableModel extends AbstractTableModel {
        private String[] columnNames = {"First Name",
                                        "Last Name",
                                        "Sport",
                                        "# of Years",
                                        "Vegetarian"};
        private Object[][] data = {
            {"Mary", "Campione",
             "Snowboarding", new Float(5.7), new Boolean(false)},
            {"Alison", "Huml",
             "Rowing", new Float(3.5), new Boolean(true)},
            {"Kathy", "Walrath",
             "Knitting", new Float(2.9), new Boolean(false)},
            {"Sharon", "Zakhour",
             "Speed reading", new Float(20.8), new Boolean(true)},
            {"Philip", "Milne",
             "Pool", new Float(10.5), new Boolean(false)}
        public int getColumnCount() {
            return columnNames.length;
        public int getRowCount() {
            return data.length;
        public String getColumnName(int col) {
            return columnNames[col];
        public Object getValueAt(int row, int col) {
            return data[row][col];
         * JTable uses this method to determine the default renderer/
         * editor for each cell.  If we didn't implement this method,
         * then the last column would contain text ("true"/"false"),
         * rather than a check box.
        public Class getColumnClass(int c) {
             Object obj = getValueAt(0, c);
             System.out.println("getColumnClass.obj:" + obj);
            return obj.getClass();
        public boolean isCellEditable(int row, int col) {
            //Note that the data/cell address is constant,
            //no matter where the cell appears onscreen.
            if (col < 2) {
                return false;
            } else {
                return true;
        public void setValueAt(Object value, int row, int col) {
            if (DEBUG) {
                System.out.println("Setting value at " + row + "," + col
                                   + " to " + value
                                   + " (an instance of "
                                   + value.getClass() + ")");
            data[row][col] = value;
            fireTableCellUpdated(row, col);
            if (DEBUG) {
                System.out.println("New value of data:");
                printDebugData();
        private void printDebugData() {
            int numRows = getRowCount();
            int numCols = getColumnCount();
            for (int i=0; i < numRows; i++) {
                System.out.print("    row " + i + ":");
                for (int j=0; j < numCols; j++) {
                    System.out.print("  " + data[i][j]);
                System.out.println();
            System.out.println("--------------------------");
     * Create the GUI and show it.  For thread safety,
     * this method should be invoked from the
     * event-dispatching thread.
     * @throws ParseException
    private static void createAndShowGUI() throws ParseException {
        //Make sure we have nice window decorations.
        JFrame.setDefaultLookAndFeelDecorated(true);
        //Create and set up the window.
        JFrame frame = new JFrame("TableFTFEditDemo");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //Create and set up the content pane.
        TableFTFEditDemo newContentPane = new TableFTFEditDemo();
        newContentPane.setOpaque(true); //content panes must be opaque
        frame.setContentPane(newContentPane);
        //Display the window.
        frame.pack();
        frame.setVisible(true);
    public static void main(String[] args) {
        //Schedule a job for the event-dispatching thread:
        //creating and showing this application's GUI.
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                try {
                         createAndShowGUI();
                    } catch (ParseException e) {
                         // TODO Auto-generated catch block
                         e.printStackTrace();
}

Similar Messages

  • How to Display Time-Dependent Characteristic Data In Query

    Hi Experts,
       I have encountered a problem. I want to use Time-Dependent Chart. And want to display different value according characteristc's valid from time. For Example,
    The Characteristic 0COSTCENTER has the navigation attribute 0COMPANY, The data as:
    0COSTCENTER   Valid from   Valid To       0COMPANY
    BW2305              20070101   20070430     A
    BW2305              20070501   99991231     B
    I want  the report  can display as :
    0COSTCENTER   Valid from   Valid To       0COMPANY  AMOUNT
    BW2305              20070101   20070430     A                  1000
    BW2305              20070501   99991231     B                  2000
    But when I set the query's key date 20070420, the report display as:
    0COSTCENTER   Valid from   Valid To       0COMPANY  AMOUNT
    BW2305              20070101   20070430     A                  1000
    BW2305              20070501   99991231     A                  2000
    when I set the query's key date 20070520, the report display as:
    0COSTCENTER   Valid from   Valid To       0COMPANY  AMOUNT
    BW2305              20070101   20070430     B                 1000
    BW2305              20070501   99991231     B                  2000
    Can anybody tell me how I can get report expected.
    Thanks in advance.
    SF

    Hi,
    1) Add the characterstics 0COSTCENTER ,0DATETO,DATEFROM and  0COMPANY to the cube.
    2) And also add these 4 IOs to the Communication structures which has update rules with the concern cube.
    3) I hope , you already have  0COSTCENTER in the Commnication structure and mapping for that infoobject at both Update rules and Transfer rules.
    4) Leave to the Blank(no mapping) mappings for the IOs 0DATETO,DATEFROM and  0COMPANY in the Transfer rules.But make 1:1 mapping in the Update rules for these 2 infoobjects.
    5) Write the below code in the strt routine of the Update rules:
    TYPES:  BEGIN OF type4.
          include structure like /BI0/QCOSTCENTER.
    TYPES END OF type4.
    DATA:
      ITAB4 TYPE STANDARD TABLE OF TYPE4
           WITH HEADER LINE
           WITH NON-UNIQUE DEFAULT KEY INITIAL SIZE 0.
    SELECT * FROM /BI0/QCOSTCENTER INTO CORRESPONDING FIELDS
    OF TABLE ITAB4
    WHERE OBJVERS = 'A'.
    loop at DATA_PACKAGE.
         READ TABLE ITAB4 WITH KEY COSTCENTER = DATA_PACKAGE-MATERIAL 
    DATETO LE DATA_PACKAGE-PSTNG_DATE
    DATEFROM GE DATA_PACKAGE-PSTNG_DATE.
                  IF SY-SUBRC EQ 0.
                    DATA_PACKAGE-DATETO = ITAB4-DATETO.
                    DATA_PACKAGE-DATEFROM = ITAB4-DATEFROM.
                    DATA_PACKAGE-COMP_CODE = ITAB4-COMP_CODE.
                  ENDIF.
                  Modify DATA_PACKAGE.
      endloop.
      ABORT = 0.
    Here I assumed you have Posting date in the Communication structure and used to map to Fiscalperiod of the cube.
    6) Do the Master data upload to Cost center and active the master data of it always before uploading the data to cube.
    7) Do the uploading to cube from Sratch.
    With rgds,
    Anil Kumar Sharma .P
    Message was edited by:
            Anil Kumar Sharma

  • How to display more than one column with for each

    Hi guys,
    how to display more than one column with for each like below?
    for each
    Item1
    Item2
    Item3
    Item4
    Item5
    Item6
    Item7
    Item8
    Item9
    Item10
    End for each
    for each          
    Item1     Item2     Item3
    Item4     Item5     Item6
    Item7     Item8     Item9
    Item10          
    End for each

    Take a look at this to see if the solution provided would work for you: https://blogs.oracle.com/xmlpublisher/entry/multi_column_row_woes
    Won't you have more than 10 records in your data file ? If you are going to have only 10 items then you may be able to use position() function to limit it to 3 each..
    Take a look at this: https://blogs.oracle.com/xmlpublisher/entry/turning_rows_into_columns
    Thanks,
    Bipuser

  • After update my iphone 4, I have problem charging my phone. It will always display Charging is not supported with this accessory

    After update my iphone 4, I have problem charging my phone. It will always display charging is not supported with this accessory. What happen to iOS 5, how come it can register my charger?

    I have a 3Gs and I cant charge my iPone with any of my non Apple charges such as my Logitech stereo since I upgraded to IOS5... what did Apple do?
    /M

  • How to use Time Capsule via INTERNET WITH WINDOWS 7 SMB Cloud

    how to use Time Capsule via INTERNET WITH WINDOWS 7 SMB Cloud

    Get a vpn router.. I have no idea where you are in the world but you can find reasonable stuff for not too much money or even a general router that takes third party firmware like dd-wrt can run openvpn. 
    Set up the vpn router in place of the TC, as the main router in the network. Simply bridge the TC and place it behind the router. It will be accessible as part of the network via the vpn.
    This is the only safe way to do it via windows.
    http://www.dyncommunity.com/questions/18132/accessing-time-capsule-from-windows- 7-over-the-int.html
    If you google around I have seen posts about how to access TC by port forwarding SMB on the TC.. using a different port.. To me this is going to slow down the hackers by a day or two.. then they will discover the open port and access your network.. not just the TC.. they now have SMB access to everything. Don't do it. There is very little security on SMB.

  • Display dropdown by key data with sorting

    Hi,
    My requirement is to display dropdown by key data with sorting getting this data from XML in KM.
    Tell me different possibilities to sort the data.
    Regards,
    surya.

    Hi,
    Use DropDownByIndex instead of DropDownByKey
    Create a node with a attribute for eg. Colors node with Color attribute and add the values in the elements of the node, Bind attribute to DropDownByIndex UI.
    Create a custom comparator class like below
    import java.util.Comparator;
    import com.sap.tc.webdynpro.progmodel.api.IWDNodeElement;
    import com.sap.tc.webdynpro.progmodel.repository.enums.WDComponentLifecycleEnumInfo;
    public class CustomComparator implements Comparator {
         String attribute;
         public CustomComparator(String attrib) {
              this.attribute = attrib;
         public int compare(Object o1, Object o2) {
              try
                   IWDNodeElement units1 = (IWDNodeElement) o1;
                   IWDNodeElement units2 = (IWDNodeElement) o2;
                   return units1.getAttributeAsText(attribute).compareTo(units2.getAttributeAsText(attribute));
              catch (Exception e)
                   e.printStackTrace();
              //arbitrary order
              return 1;
    Once you read values in the Colors node, call the sortElements method of the node as below to sort the elements of the node
    wdContext.nodeColors().sortElements(new CustomComparator("Color"));
    Regards,
    Amol

  • Why weren't we told that display mirroring would not work with a Mac older than 12 months?

    Why weren't we told that display mirroring would not work with a Mac older than 12 months?

    You were, just not directly. If you go to apple's mountain lion webpage, you'll see this note at the bottom:
    1. AirPlay Mirroring requires a second-generation Apple TV or later, and is supported on the following Mac models: iMac (Mid 2011 or newer), Mac mini (Mid 2011 or newer), MacBook Air (Mid 2011 or newer), and MacBook Pro (Early 2011 or newer).
    http://www.apple.com/osx/whats-new/features.html

  • How do you move photos NOT taken with ipod ONTO the ipod?

    How do you move photos NOT taken with ipod touch ONTO the ipod touch - click and drag isn't working. Thanks.

    You can sync them via the iPod's Photos configuration pane in iTunes.  See here for more information and instructions.
    iOS and iPod: Syncing photos using iTunes
    B-rock

  • How to display time/date on bottom task bar windows 7

    How do I get the time and date to display on the bottom taskbar, I deleted it when I was trying to clear
    browsing on google and now can't figure out how to retrieve it. Thank you

    A couple of notes regarding others' helpful posts:
    The small icons is sort of a red herring - there is nothing about small icons that prohibits the date from showing, but if your taskbar is only one row high, there will not be enough space to SEE the date with small icons. I use small icons and a two row
    taskbar. To make it two (or more) rows, just hover the mouse over the top edge of the taskbar and click-drag upward.
    Alo, I had re-formated my date as dddd, MMM d, and all was swell - suddenly, today the date disappeared! After much frustration, I realized that "Wednesday, Nov. 23" was just too long for the space allotted! I changed the format to "ddd, MMM d" and it suddenly
    appeared. I don't understand why MS can just expand the clock are to fit what's there...
    best regards,
    Ian

  • I do not take time to match data with the PC time

    Hi
    I have a question and do not know why I did not coincide with the time that stores a data graph with the time at which the data is stored on the PC should be every 0.5s and there values are 0 almost, 46s between data and information.
    Attached is a picture and -vi.
    By the way why do not load the stage number and always reads 0?
      Thanks for your help.
    Attachments:
    Ejemplo guardado tabla.vi ‏73 KB

    Hi Vltan.
    I modified my vi.la simulation signal at 10 Hz and period 0.1s.
    Where I have the problem is that when the pc was not increased in 0.1s.When the while loop period is 0.1s.
    You can modify my vi.
    Attachments:
    Ejemplo guardado tabla II.vi ‏73 KB

  • How to display document last modfied date time in core result web part?

    Hi,
    We have a requirment in the sharepoint application where we need to display last modified date&time of document in core result web part.
    To support this we have specify the property <Column Name="Write"/> in custom XSL.
    But it displays only the modified date.Is there is way to display modified date and time as well?
    D.Ganesh

    If you want to modify the
    XML can do i tin the
    template "DisplayTemplate":
    An example:
    Replace
    <xsl:value-of select="write" />
    by
    <xsl:value-of select="ddwrt:FormatDate($write, 1033, 2)"/>
    But I think the managed property"Write"
    is returned only as
    Date without
    Time. By
    this time will
    always 00:00.
    To see the resulting XML
    can replace
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
    <xsl:template match="/">
    <xmp><xsl:copy-of select="*"/></xmp>
    </xsl:template>
    </xsl:stylesheet>
    Where you see the format
    of "write"
    http://msdn.microsoft.com/en-us/library/ms546985(v=office.14).aspx
    Miguel de Hortaleza

  • How to display time with min ,sec in select lis lov - 0-23 hrs and 0-59 min

    Hi,
    How to use time between 0-23 hrs,0-59 min in select list and insert selected value into single column.Like if i select 20:00 hrs,34 min ,value should be insert into single database column.
    Please help me to get the answer of this question.
    Kind Regards,
    Harish Sharma

    One select list would have 24 x 60 entriies. You should use two. One for hours and the other one for minutes. The SQL could be:
    SELECT     LEVEL d, LEVEL r
          FROM DUAL
    CONNECT BY LEVEL < 25;
    SELECT     LEVEL d, LEVEL r
          FROM DUAL
    CONNECT BY LEVEL < 61;The source is static. The actual column (for example :P1_TIME_COLUMN) with source database column is hidden. You would have a computation (PL/SQL Function) on submit which would then bring the two selected values together:
    DECLARE
       v_time   VARCHAR2 (40);
    BEGIN
       v_time := :p1_select_list1 || ':' || :p1_select_list2;
       RETURN v_time;
    END;Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.apress.com/9781430235125
    http://apex.oracle.com/pls/apex/f?p=31517:1
    http://www.amazon.de/Oracle-APEX-XE-Praxis/dp/3826655494
    -------------------------------------------------------------------

  • How to display metadata such as data load date in answers report title?

    We have a requirement to display the last load date of the data relevant to the report the user is viewing. We have such information stored in a metadata table listed by the fact table the report is referencing. Our proposed solution is to create new answers reports off of this metadata table and put each report (with the appropriate filter on the fact table) on each dashboard section where the corresponding report is placed. One problem with this approach is the load date information will not be reflected in the print form of the report as the date is dashboard content - not report content. Is there any way to overcome this situation (other than create a ton of variables specifically created for this purpose)? I'm open to entertaining javascript ideas, if necessary. I would love to know how to push this OBIEE envelope further. Thanks in advance.

    Hi,
    I discuss with some people who are familiar with SharePoint, we both thought Windows Explorer may
    not accept the custom metadata.
    if we want to do some customization, it is recommended to ask for help in development forum.
    http://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/home?category=windowsdesktopdev
    If you have any feedback on our support, please click
    here
    Alex Zhao
    TechNet Community Support

  • How to display success message when data is changed in the custom tab in MM

    Hi,
    I have added a new custom data tab in the MM01/MM02/MM03 transactions. Whenever I do changes to fields in the custom tab in MM02 transaction, and no changes in the standard tabs, I will get a message stating "No Changes Made".
    But if I do changes in the standard tabs, it works as usual with display of message "Changes to particular material has been done.
    Please let me know, if anyone of you know, how to display the success message if the changes to the custom tab is done.
    Thanks in advance,
    sudhanva

    Hi Sudhanva,
    The exit EXIT_SAPLMGMU_0001 is a function exit that you can use for custom validation but not to add custom tab/screen.
    But the message issued by SAP is not related to this Function Exit.
    If you have used a Screen Exit, then there must be some Function Exits also in the same Enhancement using which you can assign the value of custom fields to/from the standard structure. Thus when the value of any custom field is changed the system can understand that the some changes have been changed and will  not issue the message.
    In case you have used a BADI, there can be other methods in the BADi using whcih you can assign the value of custom fields to/from the standard structure. This might also prevent the message from being displayed.
    I could try giving you further details if you can provide the name of the Enhancement/BADi that you used to add the additional tab.
    Hope this helps.
    Regards,
    Abhisek.

  • How to display maximum (most recent) date value in a query

    hello,
    I have the following query:
    StudentNumber | ExternalOrganization | Date |         | NumbeOfAdmissions
    0112                  050                            06/27/2007   1
    0234                  060                            07/15/2008   1
    1356                  025                            01/08/2008   1
    My dilemma is how to display only the row that has the most recent Date, e.g. here I want to only see the row with student number 0234 and date 07/15/2008; everything else should be hidden.
    I know it should be very simple....yes/no?
    thanks

    Hi
    even I am facing the same problem..
    Can you please tell me what did you do to get most recent record..
    Even I have made my date field as KF.. n have put condition on it.. but not getting desired result.. may be I am missing something.. somewhere..
    I resolved it.. thanks
    Regards
    Swati
    Edited by: Swati on Feb 17, 2009 7:49 AM

Maybe you are looking for