TableView custom rows

I am working on a business type ordering table. Each item in the table has several common properties that are displayed in the table. Also, each item has a collection of arbitrary properties. I would like to create a custom row that can be expanded to show a free form list of all custom properties below the normal row cells that display the common properties. The expanded section would just be a single control that spans the entire width of the table filled with text.
The docs say that a row factory can be used in this case, but contains no further info, tips or examples. I couldn't find any examples of custom rows on the web. I have looked at the implementation code, but it is not clear how to go about changing behavior in an efficient manner.
Any tips or examples?
Thanks

Hi,
you need to create a tableViewCell in case the dequeueReusableCell-call doesn't return one.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    static NSString *CellIdentifier = @"myCell2";
    iSubProductsCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil)
        cell = (iSubProductCell *)[[UITableViewCell alloc] init....
    productSubClass *cc = [datas2 objectAtIndex:indexPath.row];
    NSLog(@"Product Name: %@", cc.productName);
    cell.txtProductName.text  = cc.productName;
    cell.txtProductDesc.text = cc.productDesc;
    return cell;
Dirk

Similar Messages

  • Tableview custom cell problem

    Hi everyone.
    I created a iOS tabbed application using xcode 4.2 and storyboard. I added one tableviewcontroller with custom cell on it, when clicking the row, I want to open one tableviewcontroller, i used the following code below
    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
        categoryClass *cc = [datas objectAtIndex:indexPath.row];
        [tableView deselectRowAtIndexPath:indexPath animated:NO];
        iSubProducts *subProducts = [[iSubProducts alloc] init];
        subProducts.title = cc.categoryName;
        subProducts.catID = cc.categoryID;
        [[self navigationController] pushViewController:subProducts animated:YES];
        [subProducts release];
    but when I click the row it gives me the following error:
    *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UITableView dataSource must return a cell from tableView:cellForRowAtIndexPath
    on my iSubProducts tableviewcontroller, i have the following:
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
        static NSString *CellIdentifier = @"myCell2";
        iSubProductsCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        productSubClass *cc = [datas2 objectAtIndex:indexPath.row];
        NSLog(@"Product Name: %@", cc.productName);
        cell.txtProductName.text  = cc.productName;
        cell.txtProductDesc.text = cc.productDesc;
        return cell;
    I assume this is where the error occurs, the cell is returning a nil value. When I try to attach the iSubProducts tableviewcontroller using or from a button, it all works fine, but if its coming from row clicked, this error shows up.
    Im quite new with iOS development, and maybe there is a error opening tableviewcontroller from a tableviewcontroller with a custom cell on it. I've been bangin my head for 2 days now and googled a lot, unfortunately I didn't find any solution. I'm pretty sure there's no error on the iSubProducts tableviewcontroller since its working if i tried pushing it from a button. Please I need advice on this one, Im so stucked right now with this issue. Thank you everyone.

    Hi,
    you need to create a tableViewCell in case the dequeueReusableCell-call doesn't return one.
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
        static NSString *CellIdentifier = @"myCell2";
        iSubProductsCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        if (cell == nil)
            cell = (iSubProductCell *)[[UITableViewCell alloc] init....
        productSubClass *cc = [datas2 objectAtIndex:indexPath.row];
        NSLog(@"Product Name: %@", cc.productName);
        cell.txtProductName.text  = cc.productName;
        cell.txtProductDesc.text = cc.productDesc;
        return cell;
    Dirk

  • TableView css , row border and on select fill

    Hello , i'm trying to fill TableRow with some custom color.
    On default , TableRow fills blue color on mouse selection.
    How can i change blue to red or transparent from css ?

    I don't usually use inline styles (I prefer to factor the css out into separate stylesheets), but I don't think you can apply selectors using inline styles. Here, since you don't have a reference to the table row cell in your code, you pretty much have no choice but to use a stylesheet. You can apply the stylesheet to any parent (in the scene graph) of the table row cell, such as the scene, root, or just the table view (as in the example here).
    TableWithStyle.java
    import javafx.application.Application;
    import javafx.beans.property.SimpleIntegerProperty;
    import javafx.beans.property.SimpleStringProperty;
    import javafx.collections.FXCollections;
    import javafx.collections.ObservableList;
    import javafx.scene.Scene;
    import javafx.scene.control.ScrollPane;
    import javafx.scene.control.TableColumn;
    import javafx.scene.control.TableView;
    import javafx.scene.control.cell.PropertyValueFactory;
    import javafx.scene.layout.BorderPane;
    import javafx.stage.Stage;
    public class TableWithStyle extends Application {
         @Override
         public void start(Stage primaryStage) throws Exception {
             final ObservableList<Person> data = FXCollections.observableArrayList(
                     new Person(1, "Joe", "Pesci"),
                     new Person(2, "Audrey", "Hepburn"),
                     new Person(3, "Gregory", "Peck"),
                     new Person(4, "Cary", "Grant"),
                     new Person(5, "De", "Niro")
             TableView<Person> tableView = new TableView<Person>();
             TableColumn<Person, Integer> idColumn = new TableColumn<Person, Integer>();
             idColumn.setCellValueFactory(new PropertyValueFactory<Person, Integer>("id"));
             TableColumn<Person, String> firstNameColumn = new TableColumn<Person, String>();
             firstNameColumn.setCellValueFactory(new PropertyValueFactory<Person, String>("firstName"));
             TableColumn<Person, String> lastNameColumn = new TableColumn<Person, String>();
             lastNameColumn.setCellValueFactory(new PropertyValueFactory<Person, String>("lastName"));
             tableView.getColumns().addAll(idColumn, firstNameColumn, lastNameColumn);
             tableView.setItems(data);
             BorderPane root = new BorderPane();
             ScrollPane scroller = new ScrollPane();
             scroller.setContent(tableView);
             root.setCenter(scroller);
             Scene scene = new Scene(root, 400, 250);
             tableView.getStylesheets().add("table.css");
             primaryStage.setScene(scene);
             primaryStage.show();
          * @param args
         public static void main(String[] args) {
              launch(args);
         public static class Person {
              private final SimpleIntegerProperty num;
              private final SimpleStringProperty firstName;
              private final SimpleStringProperty lastName;
              private Person(int id, String fName, String lName) {
                   this.firstName = new SimpleStringProperty(fName);
                   this.lastName = new SimpleStringProperty(lName);
                   this.num = new SimpleIntegerProperty(id);
              public String getFirstName() {
                   return firstName.get();
              public void setFirstName(String fName) {
                   firstName.set(fName);
              public String getLastName() {
                   return lastName.get();
              public void setLastName(String fName) {
                   lastName.set(fName);
              public int getId() {
                   return num.get();
              public void setId(int id) {
                   num.set(id);
    }table.css:
    .table-row-cell:selected {
         -fx-background-color: red ;
    }

  • Custom row-fetch and how to get column values from specific row of report

    Hi -- I have a case where a table's primary key has more than 3 columns. My report on the
    table has links that send the user to a single-row DML form, but of course the automatic
    fetch won't work because 1) I can't set more than 3 item values in the link and 2) the
    auto fetch only handles 2 PK columns.
    1)
    I have written a custom fetch (not sure it's the most elegant, see second question) that is working
    for 3 or few PK columns (it references the 1-3 item values set in the link), but when there are
    more than 3, I don't know how to get the remaining PK column values for the specific row that was
    selected in the report. How can I access that row's report column values? I'll be doing it from the
    form page, not the report page. (I think... unless you have another suggestion.)
    2)
    My custom fetch... I just worked something out on my own, having no idea how this is typically
    done. For each dependent item (database column) in the form, I have a source of PL/SQL
    function that queries the table for the column in question, using the primary key values. It works
    beautifully, though is just a touch slow on my prototype table, which has 21 columns. Is there
    a way to manually construct the fetch statement once for the whole form, and have APEX be smart
    about what items get what
    return values, so that I don't have to write PL/SQL for every item? Because my query data sources
    are sometimes in remote databases, I have to write manual fetch and dml anyway. Just would like
    to streamline the process.
    Thanks,
    Carol

    HI Andy -- Well, I'd love it if this worked, but I'm unsure how to implement it.
    It seems I can't put this process in the results page (the page w/ the link, that has multiple report rows), because the link for the row will completely bypass any after-submit processes, won't it? I've tried this in other conditions; I thought the link went directly to the linked-to page.
    And, from the test of your suggestion that I've tried, it's not working in the form that allows a single row edit. I tried putting this manually-created fetch into a before header process, and it seems to do nothing (even with a hard-coded PK value, just to test it out). In addition, I'm not sure how, from this page, the process could identify the correct PK values from the report page, unless it can know something about the row that was selected by clicking on the link. It could work if all the PK columns in my edit form could be set by the report link, but sometimes I have up to 5 pk columns.
    Maybe part of the problem is something to do with the source type I have for each of the form items. With my first manual fetch process, they were all pl/sql functions. Not sure what would be appropriate if I can somehow do this with a single (page level?) process.
    Maybe I'm making this too hard?
    Thanks,
    Carol

  • How to create a custom row selector

    I am using APEX_ITEM.CHECKBOX in a form. How can I add a row selector checkbox to the heading of the table to select/deselect all of my custom checkboxes? I tried to simply add the build-in row selector function to the report but that just added an additional column of checkboxes. I just need the header row checkbox added.
    This is Apex 3.2.x
    Edited by: user9108091 on Oct 14, 2010 1:32 PM

    Hello,
    >> How can I add a row selector checkbox to the heading of the table to select/deselect all of my custom checkboxes?
    Please check the following. I believe it’s simpler than the hijacking business.
    Re: How to add row selector column attribute to report region?
    Regards,
    Arie.
    &diams; Please remember to mark appropriate posts as correct/helpful. For the long run, it will benefit us all.
    &diams; Author of Oracle Application Express 3.2 – The Essentials and More

  • Tableview - Uncheck rows after processing

    Hello,
    I'm having a problem.  I have an MVC app which has a tableview on the page.  Users click the "standard" selection checkbox and click a button to delete the selected row.  The deletion works great, but the problem is that when the page is refreshed a row is selected (the previously selected row has been deleted, so it's usually the first row in the tableview).  Is there any way to "clear" this highlight when the page redisplays?
    Any help would be greatly appreciated!
    Thanks in advance,
    Lisa

    Use below code:
    <htmlb:tableView id              = "TVTABLE"
                           selectionMode   = "MULTISELECT"
                           visibleRowCount = "20"
                           sort            = "SERVER"
                           keyColumn       = "PERNR"
                           filter          = "SERVER"
                           selectedRowKeyTable = "<%=key_tab%>"
                           tabIndexCell    = "TRUE"
                           table           = "<%=lt_01%>" />
    Event Handling:
    cl_htmlb_manager=>check_tableview_all_rows( rowcount = n
    request = request
    id = '<tableview id>'
    keytable = keytable "Table containing the key values of your itab
    check = '' ). "If its 'X' all items will be selected and ' ' will uncheck all items.
    Raja

  • TableView delete row

    Hi everybody I am unable to delete a row from tableview
    iused the selectedRowIndex of cl_htmlb_tableview
    but this  dont works on bsp  with MVC approach.
    but i was able to wok it out at bsp without mvc
    How can i do this in bsp with mvc

    Hi Sumesh,
    I'm not sure whether it is the solution for your issue but it is for sure something to take care of.
    You use ID's for your tags that include underscores. This should be avoided in case you use MVC for BSP's. The reason behind that is that the system uses the underscore as separator in case you use subcontrollers.
    Also to mention: In case your table is on a subcontroller the ID you have used is the wrong one, so the coding in a controller should always look like:
    Data: lv_id     type string,
          lr_tv     type ref to cl_htmlb_tableview,
          lr_tvdata type ref to cl_htmlb_event_tableview.
    "Get the ID for the tableView, does the concatenation in case subcontrollers
    "are used.
    lv_id = get_id( 'myTableViewIdWithoutUnderscores' ).
    "Get the Tableview
    lr_tv ?= CL_HTMLB_MANAGER=>GET_DATA(
                   request = request
                   name    = 'tableView'
                   id      = lv_id ).
    "Get the event-data
    lr_tvdata = lr_tv->data.
    The method get_id can always be called, as the systems distincts whether your controller is a root controller or a subcontroller and hands back the correct result.
    Hope that helps.
    Best Regards
    Michael

  • Clear TableView Selected rows - Urgent

    Hi All,
    I have a stateful BSP application. I have a tableview in that applications. I have the multiselect option in that table. Is there any way to clear the previous selected rows of the table. The table is getting new data without any problems but the previously selected line remain on the table Would appreciate if anyone could help me out as it is Urgent !!
    Best Regards,
    Sudhi

    Hi Sudhi,
    You can follow up using this sample code. Here you can set a flag variable which is updated in onInputProcessing event.
    Layout:
    <htmlb:form>
         <%
            if flag is initial.
          %>
          <htmlb:tableView id              = "tab1"
                           table           = "<%= itab %>"
                           visibleRowCount = "8"
                           design          = "ALTERNATING"
                           footerVisible   = "TRUE"
                           selectionMode   = "multiSelect"
                           keepSelectedRow = "true" >
          </htmlb:tableView>
          <%
            endif.
          %>
          <%
            if flag eq 1.
          %>
          <htmlb:tableView id              = "tab2"
                           table           = "<%= itab %>"
                           visibleRowCount = "8"
                           design          = "ALTERNATING"
                           footerVisible   = "TRUE"
                           selectionMode   = "multiSelect"
                           keepSelectedRow = "true" >
          </htmlb:tableView>
          <%
            clear flag.
          %>
          <%
            endif.
          %>
          <htmlb:button id      = "but01"
                        text    = "Click"
                        onClick = "myEvent" />
        </htmlb:form>
    OnInputProcessing:
    DATA: tv TYPE REF TO cl_htmlb_tableview.
    DATA: event TYPE REF TO cl_htmlb_event.
    event = cl_htmlb_manager=>get_event( runtime->server->request ).
    IF event->id = 'but01' AND event->event_type = 'click'.
      tv ?= cl_htmlb_manager=>get_data(
                      request      = runtime->server->request
                      name         = 'tableView'
                      id           = 'tab1' ).
      IF tv IS NOT INITIAL.
        DATA: tv_data TYPE REF TO cl_htmlb_event_tableview.
        tv_data = tv->data.
        DATA : itab2 TYPE TABLE OF selectedrow,
             ind TYPE selectedrow,
             row_s TYPE zdi_so.
        CALL METHOD tv_data->get_rows_selected
          RECEIVING
            selected_rows = itab2.
      ENDIF.
      IF itab2 IS NOT INITIAL.
        DATA :rw LIKE LINE OF itab.
        LOOP AT itab2 INTO ind.
               flag = '1'.
          DELETE itab INDEX ind-index.
        ENDLOOP.
      ENDIF.
    ENDIF.
    Hope this helps,
    Regards,
    Ravikiran.
    Message was edited by: Ravikiran C

  • TableView Customizing Problems

    Hi all,
    i`m trying to display a Table with a some columns and a selektor (radio button).
    I have different tables with this setup, but i can`t set the width of the differnt cells. I tried via TableView getColumn("xx" and setWidth("100 px") or setWidth("50 %"); but without success.
    Then i implemented an own CellRenderer. And it renders my cells, but i cannot influence the width of the TextView. (I have set the width AND set the wrapping attribute to true, to get the width repsected)
    Ok, now i`m a little clueless.
    How can i set the width of the different cells ?
    In my simplest table i want to have a table with the radio button and one cell that spans the remaining row size.
    Maybe someone can point me in the right directions or supply me some sample code.
    Best Regards
    Odo

    Hi,
    here is the code that i use to setup the tableView:
    <hbj:tableView
         id="tagTableView"
         design="ALTERNATING"
         headerVisible="true"
         footerVisible="true"
         fillUpEmptyRows="true"
         navigationMode="BYPAGE"
         selectionMode="SINGLESELECT"
         visibleFirstRow="1"
         visibleRowCount="5"
         width="100 %" >
         <%      
    tagTableView.setModel(tagTableBean.getTagTable().getModel());
    tagTableView.useRowSelection(tagTableBean.getTagTable().getTableView());
    tagTableView.setHeaderText("Defined Tags");
    tagTableView.setOnNavigate("onTagNavigate");
    tagTableView.setOnRowSelection("onTagRowSelection");
    %>
    I have tried to set the width of the column in the scriptlet but with no success.
    com.sapportals.htmlb.table.TableView tv = (com.sapportals.htmlb.table.TableView)pageContext.findAttribute("tagTableView");
    tv.getColumn(1).setWidth("100 %");
    Hi,
    the problem is solved. When a table has only two columns (one select box / radio button and one content column) the  
    img that is placed in the radio button column needs to have the size set (1x1). If not, the IE6 stretches this column and it looks ugly.
    A workaround for this is to add an empty column and set the width of the middle column to max. Works and do not look that ugly.
    Better solutions are welcome.
    Best Regards,
    Odo
    Message was edited by: Oliver Dohmen

  • CUSTOM ROW FETCH USING PLSQL BLOCK DOESN'T WORK

    Hello,
    I'm using Apex 3.0, and I'm trying to use a anonymous block to populate page items instead of automatic row fetch. Apparently the block works fine but the page doesn't display the items with the values that I fetched.
    I'm using something like:
    Declare
    v_test varchar2(10);
    begin
    select name into v_test from emp where emp_no=:p10_id;
    :p10_name:=v_test;
    end;
    Does anyone have a clue ? The process is defined to run on "OnLoad - After header", but I've tried other options, but the results are the same: P10_name appears blank.
    thank you for your help
    JAV

    But there is a catch.....on the item definition, the "SOURCE USED" must be set to "Only when current value in session is null", otherwise, it doesn't show what you want.
    Cheers
    JAV

  • How could auto-select customized row(s) when af:table loads?

    for example,
    the first row be selected at the first start up.
    or, if i change/add a row, this updated row should be highlighted
    JDev: 11g
    any good solution for this use case?
    Thanks.
    Kevin.

    Hi Frank,
    but it doesn't work...
    Thank you.
    Kevin.

  • Custom report row template

    Few questions when using a custom report row template. Followup to the discussion Report Row Template: Column condition
    1. The row template allows full control how the entire row is rendered. I can see this being used when the report query returns a single row and we need to format it in a very specific way. But when the query returns multiple rows, how is the specified Row Template used? i.e the first row is "consumed" and rendered as per the template. If the same process is repeated for subsequent rows, how can we control whether successive rows are rendered across the page (left to right) or down the page (top to bottom)?
    2. When a custom row template is used to render a tabular form, the hidden columns (marked Edit=Y, Show=N on Report Attributes) are present in the markup even when they are not specified in the row template! i.e. the MRU process works. Of course, this is a good thing but I was curious to know what exactly controls this, what part of the report template controls where the hidden form elements are placed?
    3. Any number/date formatting specified declaratively on the Column Attributes page appears to be taken into account when column values are substituted in the template using #COL# notation. But all the other Column Attributes are ignored (alignment, sum, show, link, etc). Is there a way to use the Link attribute to declaratively specify the link so the value of the column #COL# as seen by the report template includes the A tag?
    Thanks

    Comments? Thanks

  • How to handle too many custom UITableViewCells in UITableView?

    In my iphone app, I need to display many custom rows (maybe thousands or even more) in the UITableView. I add one custom UIView onto each UITableViewCell in "- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath" function, so there will be allocate much memory for the all my custom UIViews. When I add 500 rows into the UITableView, the memory ran out, then the app crashed. I think maybe there is something wrong with my code or design, I don't know how to handle this (thousands custom rows in UITableView). Please help me.... Thanks very much..
    Below is the my code:(if I have thousands of rows, the following code will allocate thousands of CustomViews), is there any way that not allocate so many CustomViews?
    // Customize the appearance of table view cells.
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
    **cell = [[[UITableViewCell alloc] initWithFrame:CGRectMake(0, 0, 110, 25) reuseIdentifier:CellIdentifier] autorelease] ;
    // Set up the cell...
    CustomView *cellView = [[CustomView alloc]initWithFrame:CGRectMake(1, 1, 108, 24)];
    [cell addSubview: cellView];
    [cellView release];
    return cell;
    }

    Hi,
    well you should add the customView if you need to create a new cell only. Any reused cell will contain this customview allready since you've added it when the cell was created.
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
    cell = [[UITableViewCell alloc] initWithFrame:CGRectMake(0, 0, 110, 25) reuseIdentifier:CellIdentifier] autorelease];
    // Add customView to new cell's only
    CustomView *cellView = [CustomView alloc] initWithFrame:CGRectMake(1, 1, 108, 24)];
    [cell addSubview: cellView];
    [cellView release];
    // Set up the cell...
    return cell;

  • ViewObjects, Jtables and custom cellrenderers

    Hi,
    I'm wondering if someone knows a solution to this type of a problem.
    I have a ViewObject bound to a Jtable. Simple enough. Now when I add a new record to this ViewObject manually (not throught the nav bar); the record is already populated, my jtable updates correctly to show that the row has been entered. Now here is the problem:
    I have a custom cellRenderer that is displaying a JComboBox. Now based on the data that is stored on our Database and what row is currently being rendered, the checkbox is either disabled or enabled. Trouble is, as soon as there become more records in the JTable than there is room on the screen assigned to the JTable, my JScrollPane's vertical scrollbar kicks in, which is good and no problems, but every checkbox for all the rows that are displayed when scrolling are disabled.
    Now the reason for this is simple. Code below.
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
    boolean state = false;
    if (String.valueOf(value).equals(onValue))
    state = true;
    else if ((String.valueOf(value).equals(offValue)) || (value == null))
    state = false;
    else
    throw new IllegalStateException("warning: unrecognized value: " + value);
    JCheckBox box = new JCheckBox();
    box = new JCheckBox();
    box.setSelected(state);
    box.setHorizontalAlignment(SwingConstants.CENTER);
    if (isSelected)
    box.setBackground(SystemColor.textHighlight);
    else
    box.setBackground(SystemColor.window);
    JPanel panel = new JPanel();
    panel.setLayout(new BorderLayout());
    panel.setEnabled(table.isCellEditable(row, column));
    panel.add(box, BorderLayout.CENTER);
    if (hasFocus)
    panel.setBorder(UIManager.getBorder("Table.focusCellHighlightBorder"));
    else
    panel.setBorder(emptyBorder);
    if (isSelected)
    panel.setBackground(SystemColor.textHighlight);
    else
    panel.setBackground(SystemColor.window);
    if(isDisabled(row, column))
    box.setEnabled(false);
    else
    box.setEnabled(true);
    return panel;
    private boolean isDisabled(int row, int column)
    Row aRow = tableView.getRowAtRangeIndex(row);
    System.out.println("ROW: " + row);
    if(aRow != null)
    if(aRow.getAttribute("DboType").toString().toUpperCase().compareTo("TABLE") == 0)
    if(column < 5)
    return false;
    else
    return true;
    }else if(aRow.getAttribute("DboType").toString().toUpperCase().compareTo("PACKAGE") == 0)
    if(column == 5)
    return false;
    else
    return true;
    }else
    return true;
    }else if(aRow == null)
    System.out.println("SHOULD NOT BE NULL");
    return true;
    else
    return true;
    The line:
    Row aRow = tableView.getRowAtRangeIndex(row);
    returns null!!! how can this be? Considering tableView is my ViewObject and tableView is the viewObject that is bound to the JTable? It's almost as if the JTable is increasing in size before the ViewObject has it'self added the new row to it's self and the transaction cache?
    Now before you say, "Why don't you just add DBO_TYPE to the JTable?", well because we don't want it displayed to the user. If we did this then I'm somewhat sure it would work, but we should not have to add data to the JTable just for this considering the ViewObject already stores this information, but is just not displaying it onto the screen.
    Any help?

    Haven't checked at all (it's Sunday night for God's sake!) but are we sure it's nothing to do with the fact that getRowAtRangeIndex is relative to the currently displayed rows and the row passed in from the table is absolute?
    Mike.

  • Dunning Letter for Single Customer in Version 2007A SP01 PL09?

    From the SAP Help I feel I am going mad am I?
    "From the SAP Business One Main Menu, choose  Reports  Sales and Purchasing  Aging  Customer Receivables Aging .
    The Customer Receivables Aging - Selection Criteria window appears.
    Select filtering options to display the customers you want.
    Set the report options to Age by Due Date and double-click the customer row to display all the documents composing the debt.
    Select the Letter column to schedule this invoice for a dunning letter.
    You can manually change the dunning level by choosing the Level column. "
    I don't see the Letter column? am I missing something that is very obvious?

    After you run the report a list of customer will be listed with their debt (0-30, 31-60, 61-90, 90+)...
    Notice that a row number is given per customer on the left of each row.
    Double click that row number, then you will see a list of invoices with its balances, the last two columns on that window are (Level, Letter) check the box for letter and then you will be able to change the Dunning Level
    Good luck

Maybe you are looking for