Tables: Controlling whether row strokes or column strokes appear on top

I was hoping I could use Table Options > Table Setup: Stroke Drawing Order to globally affect whether row strokes or column strokes appear on top of one another as well as how the gap of double lines connect. But the results are not meeting my expectations and am trying to determine if my application is buggy or my expectations are wrong.
The only thing this feature seems to affect is how row and column strokes interact with a table border. Is this indeed the intended purpose?
The only thing that does have an effect is that the most recently-edited stroke is the one that is brought forward. Is this your experience?
It also appears that the only way to force the gaps within double lines to connect is to make sure the row strokes and column strokes have the same thickness, color and tint. Is this correct?
Any insight would be greatly appreciated!

Your assessment should be mitigated by how table work in other programs.
You can't do any of this in the first place in Excel. Just getting any
stroking out of the ordinary is a tedious task of avoiding what you don't
want to happen. Forget about controlling which stroke shows over what other
stroke. And have you tried working in tables in QuarkXPress? Aaaargh!!
Neither of those programs are any where near as intuitive as InDesign's
tables. Neither has the control. You can get (almost?) anything you want in
ID, that cannot be said for Excel and Quark.
I really think your only problem here is not assimilating the finer nuance
of how Table Options and Cell Options and Table Styles and Cell Styles
interact. Am I correct in the impression that you want the Table Options
Stroke Drawing Order to effect strokes that were not even formatted using
the Table Options? If true, that hardly sounds reasonable, or even a
preferable behaviour for InDesign to implement.

Similar Messages

  • Table Control: Disabling editing for a column

    Hi everyone. Greetings from Buenos Aires, Argentina.
    First of all, I want to apologize for this question in case of it has already been made. The forum is too large to read it completely and I really need the answer, if any, to my trouble.
    I have a table control inside a screen. In it's PBO, I coded a module to change the table control attributes. I declared a work area like the line of the table control's control in order to loop it. I mean this:
    In the TOP of Table Control (I made it by using the wizard) I have this:
    CONTROLS: TC_1 TYPE TABLE VIEW USING SCREEN dynpro_number)
    And in the PBO module I have typed the following:
    MODULE control_change_attrs OUTPUT.
    DATA: wa_tc_1 LIKE LINE OF TC_1-COLS.
    LOOP AT TC_1-COLS INTO wa_tc_1.
    ENDLOOP.
    ENDMODULE.
    In the (...), I have put code with such a logic that, depending of the contents of certain fields in the dynpro, it will hide (or not) some columns of the Table Control. This part is made correctly.
    This logic, also makes (or should make) the table control to disable the input of a column, depending wether a flag is active or not. This flag is activated in other screen's PAI, which is called depending on the contents of the sy-ucomm field of this screen (the one with the table control).
    The (...) is something like this (I'll omit some parts):
    IF wa_tc_1-screen-name = 'COLUMN_TO_HIDE'.
       IF gv_flag = 'X'.
          wa_tc_1-screen-input = 0.
       ENDIF.
       MODIFY TC_1-COLS FROM wa_tc_1.
    ENDIF.
    In a PAI module of this screen, I have coded the following:
    MODULE user_command INPUT.
    CASE gv_ok_code.
       WHEN 'RUN'.
          PERFORM RUN.
        WHEN ...
    ENDCASE.
    END MODULE.
    And in the RUN subroutine, obviusly among other things, I have this:
    CALL SCREEN 0150 STARTING AT XX YY.
    In a module in the PBO of the screen 0150, I clear gv_ok_code. In a PAI module, this is what I have put:
    CASE gv_ok_code.
       WHEN 'ACCEPT'.
          gv_flag = 'X'.
          CLEAR gv_ok_code.
          LEAVE TO SCREEN 0.
      WHEN ...
      WHEN ...
    ENDCASE
    The thing is, when the contents of gv_ok_code is 'ACCEPT' and therefore the flag is activated, then the 0150 screen's PAI finishes and the previous screen's PBO is processed, I know for sure (by the mean of the debugging mode) that the table controls's atrributes are correctly modified, and the most important thing, they stay like that... But, the column desired does not gets disabled, at least not until the NEXT PBO (I mean, it gets disabled when I press the Enter key).
    Why is happening this?

    Thanks a lot for the response, Max.
    I' ve been testing your answer. When I implemented the code that you suggested, after the first PAI, the table control's columns appear as I want.
    The thing is, in order to test if the changes in the columns are reflected in the screen after the call of the dynpro no. 0150 (and the obvious return to the first one), I need to be able to select one or more table control's rows (since when I followed the table control wizard, I made it with selection column, and with multiple selection). But, after implementing your code, I'm not able any longer to select any rows.
    I click on them, but they don't turn yellow. I commented the call of the module inside the LOOP AT itab... of the PBO and I was able to select them once again, so we're sure the problem is caused because of the call to this new module. But why?
    Note: you should know, since the table control is with multilpe selection, the LOOP sentence in the PBO is like this:
    LOOP AT itable
           INTO work_area
           CONTROL tc_1
           WITH CURSOR tc_1-current_line.
    MODULE change_attribs.
    ENDLOOP.
    Does that give a hint to you?

  • Give some hints that in a table control , first row will be editable and

    pls,
    give some hints that in a table control , first row will be editable and
    rest of the rows will be non-editable.

    Hi,
    Take the group1 for all the textboxes in table control as 'ABC'.
    Use this code, its working:-
    it_zekpo is my internal table w/o header line,
    wa_zekpo is work area.
    Name of input/output fields on screen are:-
    wa_zekpo-field1,
    wa_zekpo-field2, and so on...
    At screen flow-logic
    PROCESS BEFORE OUTPUT.
    *  MODULE status_8003.
      LOOP WITH CONTROL po_tb.
        MODULE read_data.
      ENDLOOP.
    PROCESS AFTER INPUT.
    *  MODULE user_command_8003.
      LOOP WITH CONTROL po_tb.
        MODULE modify_data.
      ENDLOOP.
    In PBO
    *&      Module  READ_DATA  OUTPUT
    MODULE read_data OUTPUT.
      READ TABLE it_zekpo INTO wa_zekpo INDEX po_tb-current_line. "po_tab is table control name
      "enable only first row and disable rest rows in table control.
      IF sy-subrc EQ 0.
        IF sy-tabix GE 2.
          IF screen-group1 = 'ABC'.
            LOOP AT SCREEN.
              SCREEN-INPUT = 0.
              SCREEN-ACTIVE = 0.
            ENDLOOP.
            MODIFY SCREEN.
          ENDIF.
        ENDIF.
      "disable empty rows
      ELSE.
        IF screen-group1 = 'ABC'.
          LOOP AT SCREEN.
            SCREEN-INPUT = 0.
            SCREEN-ACTIVE = 0.
          ENDLOOP.
          MODIFY SCREEN.
        ENDIF.
      ENDIF.
      data : line_count type i.
      describe it_zekpo
      lines line_count.
      po_tb-lines = line_count + 10.
      "to increase the number of lines in table control dynamically
    ENDMODULE.                 " READ_DATA  OUTPUT
    In PAI
    *&      Module  MODIFY_DATA  INPUT
    MODULE MODIFY_DATA INPUT.
      MODIFY IT_ZEKPO FROM WA_ZEKPO INDEX po_tb-currentline.
    ENDMODULE.                 " MODIFY_DATA  INPUT
    Hope this solves your problem.
    Thanks & Regards,
    Tarun Gambhir

  • Empty table with multiples rows and 2 columns for processing data

    Hi,
    I am very new to adobe forms. I have the requirement that the user will enter some data in the table rows and I should process them to update in a z-table as well as use that data for MB1A tcode. I am not sure what to use here. Which is the best. I dont know anything about webdynpro. Can it be done directly in SFP transaction without using web-dynpro?
    Also if I need more rows I should give them the option to add rows. How does the submit button work here when the user enters the data in all the 10 rows.
    I heard about web services and I know a little about it, can it be achieved though that? Please help me. I need to finish 4 forms like this and each form should take me to the next form level.
    Kaps.

    Hello!
    You don´t have to tell me, I am the ABAP developer as well. I know that there is very little like ..."career" value in learning scripting in some obscure languages like Java script or Form Calc for Adobe forms. But trust me, you won´t have to learn much. You will have to learn how to manipulate the presence of form fields (or variable values, but that is the same like setting the presence to hidden, you only pass a constant or any other value).
    In the mentioned guide, in the last chapter you can just copy and next paste the ready to use scripting bacis. I think you should find the add/ remove row scripts there as well.
    The right scenario is not always easy to pick, consider this:
    - how many forms at the same time will the user have to fill? (if one --> offline, if more --> portal/ WD)
    - do you want the user to work with the NW portal? do you have licenses for the new users? (WD)
    - how often will the people fill their forms? how important the processes are? how many values will come from the backend tables (like how many search helps you would use if you can)
    etc. etc.
    Hope that clarifies things a little for you
    regards Otto

  • Please help - Joining three tables and get row values into Column. Please help!

    Hi,
    There is a SourceTable1 (Employee) with Columns like EmployeeID,Name,DOB.
    There is a sourcetable2 (EmployeeCode) with columns like EmployeeID,Code,Order.
    There is a source table 3  #EmployeeRegioncode  and its columns are (EmployeeID , RegionCode , [Order] 
    The target table 'EmployeeDetails' has the following details. EmployeeID,Name,DOB,Code1,Code2,Code3,Code4,regioncode1
    regioncode2 ,regioncode3 ,regioncode4 
    The requirement is , the value of the target table columns the Code1,code2,code3 ,code4,code5 values should
    be column 'Code' from Sourcetable2 where its 'Order' column is accordingly. ie) Code1 value should be the 'Code' value where [Order] column =1, and Code2 value should be the 'Code' value where [Order] =2, and so on.
    Same is the case for Source table 3- 'Region code' column also for the columns  regioncode1
    regioncode2 ,regioncode3 ,regioncode4 
    Here is the DDL and Sample date for your ref.
    IF OBJECT_ID('TEMPDB..#Employee') IS NOT NULL DROP TABLE #Employee;
    IF OBJECT_ID('TEMPDB..#EmployeeCode') IS NOT NULL DROP TABLE #EmployeeCode;
    IF OBJECT_ID('TEMPDB..#EmployeeDetails') IS NOT NULL DROP TABLE #EmployeeDetails;
    ---Source1
    CREATE table #Employee 
    (EmployeeID int, Empname varchar(20), DOB date )
    insert into #Employee VALUES (1000,'Sachin','1975-12-12') 
    insert into #Employee VALUES (1001,'Sara','1996-12-10') 
    insert into #Employee  VALUES (1002,'Arjun','2000-12-12')
    ---Source2
    CREATE table #EmployeeCode 
    (EmployeeID int, Code varchar(10), [Order] int)
    insert into #EmployeeCode VALUES (1000,'AA',1) 
    insert into #EmployeeCode VALUES (1000,'BB',2)   
    insert into #EmployeeCode  VALUES (1000,'CC',3)  
    insert into #EmployeeCode VALUES  (1001,'AAA',1)  
    insert into #EmployeeCode  VALUES  (1001,'BBB',2)  
    insert into #EmployeeCode  VALUES  (1001,'CCC',3)  
    insert into #EmployeeCode  VALUES  (1001,'DDD',4)  
    insert into #EmployeeCode  VALUES  (1002,'AAAA',1)  
    insert into #EmployeeCode  VALUES  (1002,'BBBB',2)  
    insert into #EmployeeCode  VALUES  (1002,'CCCC',3)  
    insert into #EmployeeCode  VALUES  (1002,'DDDD',4)  
    insert into #EmployeeCode  VALUES  (1002,'EEEE',5)  
    ---Source tbl 3
    CREATE table #EmployeeRegioncode 
    (EmployeeID int, RegionCode varchar(10), [Order] int)
    insert into #EmployeeRegioncode VALUES (1000,'xx',1) 
    insert into #EmployeeRegioncode VALUES (1000,'yy',2)   
    insert into #EmployeeRegioncode  VALUES (1000,'zz',3)  
    insert into #EmployeeRegioncode VALUES  (1001,'xx',1)  
    insert into #EmployeeRegioncode  VALUES  (1001,'yy',2)  
    insert into #EmployeeRegioncode  VALUES  (1001,'zz',3)  
    insert into #EmployeeRegioncode  VALUES  (1001,'xy',4)  
    insert into #EmployeeRegioncode  VALUES  (1002,'qq',1)  
    insert into #EmployeeRegioncode  VALUES  (1002,'rr',2)  
    insert into #EmployeeRegioncode  VALUES  (1002,'ss',3)  
    ---Target
    Create table #EmployeeDetails
    (EmployeeID int, Code1 varchar(10), Code2 varchar(10),Code3 varchar(10),Code4 varchar(10),Code5 varchar(10) , regioncode1 varchar(10),
    regioncode2 varchar(10),regioncode3 varchar(10),regioncode4 varchar(10))
    insert into #EmployeeDetails  VALUES (1000,'AA','BB','CC','','','xx','yy','zz','')  
    insert into #EmployeeDetails  VALUES (1001,'AAA','BBB','CCC','DDD','','xx','yy','zz','xy')  
    insert into #EmployeeDetails VALUES (1002,'AAAA','BBBB','CCCC','DDDD','EEEE','qq','rr','ss','')  
    SELECT * FROM  #Employee
    SELECT * FROM  #EmployeeCode
    SELECT * FROM  #EmployeeRegioncode
    SELECT * FROM  #EmployeeDetails
    Can you please help me to get the desired /targetoutput?  I have sql server 2008.
    Your help is greatly appreciated.

    select a.EmployeeID,b.code1,b.code2,b.code3,b.code4,b.code5,c.Reg1,c.Reg2,c.Reg3,c.Reg4 from
    #Employee a
    left outer join
    (select EmployeeID,max(case when [Order] =1 then Code else '' end) code1,
    max(case when [Order] =2 then Code else '' end)code2,
    max(case when [Order] =3 then Code else '' end)code3,
    max(case when [Order] =4 then Code else '' end)code4,
    max(case when [Order] =5 then Code else '' end)code5 from #EmployeeCode group by EmployeeID) b
    on a.EmployeeID=b.EmployeeID
    left outer join
    (select EmployeeID,max(case when [Order] =1 then RegionCode else '' end) Reg1,
    max(case when [Order] =2 then RegionCode else '' end)Reg2,
    max(case when [Order] =3 then RegionCode else '' end)Reg3,
    max(case when [Order] =4 then RegionCode else '' end)Reg4 from #EmployeeRegioncode group by EmployeeID) c
    on a.EmployeeID=c.EmployeeID
    Thanks
    Saravana Kumar C

  • Opening file present in treeview by clicking on it within a table? I had created a table with a row and two columns. in one column i had dislayed treeview and want that if i click on the file in treeview it gets opened in other column. Can this happen?

    I also got a code in some website related to my problem but there are errors in this code that i am not able to understand can you correct those errors:
    using System;
    using System.IO;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using Microsoft.Web.UI.WebControls;
    namespace shark.TreeView
    /// <summary>
    /// Summary description for DocTree.
    /// </summary>
    public class DocTree : System.Web.UI.Page
    protected Microsoft.Web.UI.WebControls.TreeView TreeCtrl;
    public DocTree()
    Page.Init += new System.EventHandler(Page_Init);
    private void Page_Load(object sender, System.EventArgs e)
    if ( ! this.IsPostBack )
    // add tree node "type" for folders and files
    string imgurl = "/shark/webctrl_client/1_0/Images/";
    TreeNodeType type;
    type = new TreeNodeType();
    type.Type = "folder";
    type.ImageUrl = imgurl + "folder.gif";
    type.ExpandedImageUrl = imgurl + "folderopen.gif";
    TreeCtrl.TreeNodeTypes.Add( type );
    type = new TreeNodeType();
    type.Type = "file";
    type.ImageUrl = imgurl + "html.gif";
    TreeCtrl.TreeNodeTypes.Add( type );
    // start the recursively load from our application root path
    // (we add the trailing "/" for a little substring trimming below)
    GetFolders( MapPath( "~/./" ), TreeCtrl.Nodes );
    // expand 3 levels of the tree
    TreeCtrl.ExpandLevel = 3;
    private void Page_Init(object sender, EventArgs e)
    InitializeComponent();
    // recursive method to load all folders and files into tree
    private void GetFolders( string path, TreeNodeCollection nodes )
    // add nodes for all directories (folders)
    string[] dirs = Directory.GetDirectories( path );
    foreach( string p in dirs )
    string dp = p.Substring( path.Length );
    if ( dp.StartsWith( "_v" ) )
    continue; // ignore frontpage (Vermeer Technology) folders
    nodes.Add( Node( "", p.Substring( path.Length ), "folder" ) );
    // add nodes for all files in this directory (folder)
    string[] files = Directory.GetFiles( path, "*.aspx" );
    foreach( string p in files )
    nodes.Add( Node( p, p.Substring( path.Length ), "file" ) );
    // add all subdirectories for each directory (recursive)
    for( int i = 0; i < nodes.Count; i++ )
    if ( nodes[ i ].Type == "folder" )
    GetFolders( dirs[ i ] + "\\", nodes[i ].Nodes );
    // create a TreeNode from the specified path, text and type
    private TreeNode Node( string path, string text, string type )
    TreeNode n = new TreeNode();
    n.Type = type;
    n.Text = text;
    if ( type == "file" )
    // strip off the physical application root portion of path
    string nav = "/" + path.Substring( MapPath( "/" ).Length );
    nav.Replace( '\\', '/' );
    n.NavigateUrl = nav;
    // set target if using FRAME/IFRAME
    n.Target="doc";
    return n;
    #region Web Form Designer generated code
    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    private void InitializeComponent()
    this.Load += new System.EventHandler(this.Page_Load);
    #endregion
    and the design that i got on website for the code that i displayed just above it is
    <%@ Register TagPrefix="iewc" Namespace="Microsoft.Web.UI.WebControls" Assembly="Microsoft.Web.UI.WebControls" %>
    <%@ Page language="c#" Codebehind="DocTree.aspx.cs" AutoEventWireup="false" Inherits="shark.TreeView.DocTree" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
    <HEAD>
    <meta content="Microsoft Visual Studio 7.0" name="GENERATOR">
    <meta content="C#" name="CODE_LANGUAGE">
    <meta content="JavaScript (ECMAScript)" name="vs_defaultClientScript">
    <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
    </HEAD>
    <body>
    <form id="DocTree" method="post" runat="server">
    <table height="100%" cellSpacing="0" cellPadding="8" border="0">
    <tr height="100%">
    <td vAlign="top">
    <iewc:treeview id="TreeCtrl" runat="server" SystemImagesPath="/shark/webctrl_client/1_0/treeimages/">
    </iewc:treeview>
    </td>
    <td vAlign="top" width="100%" height="100%">
    Click on any *.aspx page in the tree and it should load here <iframe id="doc" name="doc" frameBorder="yes" width="100%" scrolling="auto" height="100%">
    </iframe>
    </td>
    </tr>
    </table>
    </form>
    </body>
    </HTML>
    This is my code for viewing treeview but it is not expanding plz help me in this also
    using System;
    using System.Collections.Generic;
    using System.Configuration;
    using System.Data;
    using System.IO;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;
    using System.Media;
    using System.Drawing;
    using System.Drawing.Imaging;
    public partial class _Default : System.Web.UI.Page
    protected void Page_Load(object sender, EventArgs e)
    if (Page.IsPostBack == false)
    System.IO.DirectoryInfo RootDir = new System.IO.DirectoryInfo(Server.MapPath("~/Files"));
    // output the directory into a node
    TreeNode RootNode = OutputDirectory(RootDir, null);
    // add the output to the tree
    MyTree.Nodes.Add(RootNode);
    TreeNode OutputDirectory(System.IO.DirectoryInfo directory, TreeNode parentNode)
    // validate param
    if (directory == null) return null;
    // create a node for this directory
    TreeNode DirNode = new TreeNode(directory.Name);
    // get subdirectories of the current directory
    System.IO.DirectoryInfo[] SubDirectories = directory.GetDirectories();
    // OutputDirectory(SubDirectories[0], "Directories");
    // output each subdirectory
    for (int DirectoryCount = 0; DirectoryCount < SubDirectories.Length; DirectoryCount++)
    OutputDirectory(SubDirectories[DirectoryCount], DirNode);
    // output the current directories file
    System.IO.FileInfo[] Files = directory.GetFiles();
    for (int FileCount = 0; FileCount < Files.Length; FileCount++)
    DirNode.ChildNodes.Add(new TreeNode(Files[FileCount].Name));
    } // if the parent node is null, return this node
    // otherwise add this node to the parent and return the parent
    if (parentNode == null)
    return DirNode;
    else
    parentNode.ChildNodes.Add(DirNode);
    return parentNode;
    This is my design
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <title></title>
    <style type="text/css">
    .auto-style2
    width: 412px;
    .auto-style3
    width: 174px;
    .auto-style4
    width: 743px;
    .auto-style5
    width: 506px;
    height: 226px;
    </style>
    </head>
    <body>
    <form id="form1" method="post" runat="server">
    <table align:"center" class="auto-style4" border="1" style="table-layout: fixed; border-spacing: 1px">
    <tr>
    <td class="auto-style3">
    <br />
    <br />
    <br />
    <br />
    </td>
    <td class="auto-style2">
    <br />
    <br />
    <br />
    <br />
    </td>
    </tr>
    <tr>
    <td class="auto-style3" valign="top">
    <asp:TreeView Id="MyTree" PathSeparator = "|" ExpandDepth="0" runat="server" ImageSet="Arrows" AutoGenerateDataBindings="False">
    <SelectedNodeStyle Font-Underline="True" HorizontalPadding="0px" VerticalPadding="0px" ForeColor="#5555DD"></SelectedNodeStyle>
    <NodeStyle VerticalPadding="0px" Font-Names="Tahoma" Font-Size="10pt" HorizontalPadding="5px" ForeColor="#000000" NodeSpacing="0px"></NodeStyle>
    <ParentNodeStyle Font-Bold="False" />
    <HoverNodeStyle Font-Underline="True" ForeColor="#5555DD"></HoverNodeStyle>
    </asp:TreeView>
    </td>
    <td class="auto-style2">
    <base target="_blank" /> <iframe frameborder="0" scrolling="yes" marginheight="0" marginwidth="0"
    src="" class="auto-style5"></iframe>
    </td>
    </tr>
    </table>
    </form>
    </body>
    </html>

    Hi meghage,
    From your code, it is a WebForm project.
    This forum is to discuss problems of Windows Forms. Your question is not related to the topic of this forum.
    You can consider posting it in asp.net forum for supports . Thanks.
    ASP.NET: http://forums.asp.net
    Regards,
    Youjun Tang
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Processing of Rows in the Non-visible area - Table Controls

    Hi,
         I have a table control. At any given point on the screen the table control displays 17 rows. now there is a functionality thru which the user will be able to paste some values into a particular column of the table control from the clipboard. Then the user will press save to save all the data on the table control into a DB table. the problem is the rows that are not visible on the screen i.e. the rows that has to be seen by scrolling the table control. while looping the table control these rows are not getting looped i.e. the looping ends with first 17 visible rows. how do i make the table control loop at the remaining records also?

    suppose, your table control name is 'table0'
    and you declare it as :
    'controls  table0 type tableview using screen 100.'
    so to process all rows of this table control you should assign for it
    'table0-lines = n.'
    where n is row count that you know.
    then you can use following statement
    'LOOP AT <internal table> CURSOR <scroll-var>
    [WITH CONTROL <table-control> ]
    [FROM <line1> ] [TO <line2> ].
    ...<actions>...
    ENDLOOP.'
    result: all n rows will be processed. in your case n is greater than 17.

  • How to find  dynamic value(screen value) in table control for current row .

    hi to all,
    i used table control in my screen. for column no 2 field i was used serrch help. and for column number 3 i used a dynamic help.
    in change mode you can change any row for table control.
    when i was using search help for a row which was already entered in column no 3 i cannot get any value.
    how i can get value of row no 3 and column no 2 value.
    thanks

    Try using like index for the serarch the TC-current_line

  • Adding dynamic columns in Table Control

    Hi All,
    Can we add dynamic columns in a table control? The requirement is something like this. When the user clicks a button it should add a column to the table. Also is it possible for the same column to refer to different fields of the Internal Table of the Database table. Example. The first row in the table control must refer to MARA-MATNR and the second row must refer to MAKT-MAKTX.
    Regards,
    Sudhindra

    Hello Sudhindra,
    If you know all the columns that the table control will ever contain, then I suppose it is possible to add and delete the columns dynamically.
    What cannot be dynamic, is the determination of which coulmn would be displayed in the table control.
    To elaborate, In SE51, you have to define the table control with all the possible columns. In the program, during the PBO, you can choose to hide some of these columns. When the user performs certain action (PAI), you can determine which opf the hidden columns would be displayed in the table control after the next PBO.
    Coming to your second requirement, I don't think it is directly possible in case of table conrols. You will have to do some manipulation to achieve it. But even if you can I think you should not. Because, It is not elegant from a good-UI design perspective. ANd during the course of the necessary manipulations, we might have to forgo some of the features like Automatic Field Validation, Automatic Input Help etc. You can use ALV for the same.
    Please be judicious in deciding which approach to consider and if you run into some more problems, please do get back with some more details like how many columns you have, how many different row-types do you want, what are the features for the fields that you wish to provide (eg. F4 help) an so on...
    Regards,
    Anand Mandalika.

  • Module pool program - populating values for columns in Table control

    Hi all,
    In my module pool program Table control i  am having 10 columns fields.
    in one of the column field i have used 'PROCESS ON VALUE-REQUEST'   to get the material no.
    in that F4 search help list is having releated information of the material like material group, company code, description etc.
    user while searching for material  they will use F4 search help and in that list they will select the material .
    From the list I need releated information of the materials like material group, company code, description etc
    to be populated in other columns while selecting the material .( User is not ready to enter all the values for the fileds)
    I appended the releated values for the material in the Table control Internal table in the Process on value-request  Module.
    (after selecting material by the user from F4 search help)
    even then I am not getting the data in the screen.
    kindly help me how to proceed  to get the data in other columns.
    Thanks in advance,
    sharma

    Hi Himanshu Verma ,
    Thanks for fast reply.
    but i tried with field names available in F4  Internal table.
    even then I am not getting.
    T_DYNPFLD_MAPPING-FLDNAME = ' MTART.
    APPEND T_DYNPFLD_MAPPING TO ITAB_DYNPFLD_MAPPING.
    T_DYNPFLD_MAPPING-FLDNAME = 'MBRSH'.
    APPEND T_DYNPFLD_MAPPING TO ITAB_DYNPFLD_MAPPING.
      SELECT
      MATNR
    MTART
    MBRSH
    MATKL
    BISMT
    MEINS
    BSTME
      FROM MARA
      INTO TABLE INT_F4
      up to 5000 rows
      CLEAR INT_F4.
    ****function module to get pop-up window of f4.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          RETFIELD        = 'MATNR'
          DYNPPROG        = W_PROGNAME
          DYNPNR          = W_SCR_NUM
          DYNPROFIELD     = 'V_TAB-MATNR'
          VALUE_ORG       = 'S'
        TABLES
          VALUE_TAB       = INT_F4
          RETURN_TAB      = RETURN_VALUES
          DYNPFLD_MAPPING = ITAB_DYNPFLD_MAPPING
        EXCEPTIONS
          PARAMETER_ERROR = 1
          NO_VALUES_FOUND = 2
          OTHERS          = 3.
      IF SY-SUBRC NE 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ELSE .
        V_TAB-matnr = RETURN_VALUES-FIELDVAL.
    endif.
    I have used the above code.  I am not getting the field values available in ITAB_DYNPFLD_MAPPING.
    kindly help me how to get the exact row for the F4 table.
    Thanks in advance.
    sharma

  • Dynamic rows in Table Control

    Hi Experts,
    My Requirement is create a table control with 5 coloumns. The rows have to be displayed dynamically...
    I created a screen , and placed a table control.
    For eg :
       if my internal table having 2 entries , then the table control should only have two rows....(no disable/greyout)
       if internal table having say 40 entries , then the table control should have 40 rows...
    Thanks,
    Lakshmiraj.A

    Hi,
    Refer
    table control dynamic rows
    Dynamic rows increment according to user input in Table Control Module Pool
    Hope this helps
    Sumana

  • How can i enable a column or field in table control

    hi all,
    i have a table control and in which some column is there, and all are disable mode now my requirement is :
    i want a column enable in this table control with a change button is there.
    so what is the functionality for this change button, if i click this button one of the field is enable i.e in change mode.
    for example- i have 4 fields: in a table control like-
    emp no | name | date| time|
    so i want to enable the field date.if i press the change button
    any one can help me on this, it is very urgent.
    pls send me any code ...if u have.
    thanks,
    vipin

    have  a look at this sample code
    In PAI write :
    CASE sy-ucomm.
      when 'CHANGEBUTTON'.
      Loop at screen.
        IF field1 = 'MATNR'.
          Screen-active = 0.
       endif.
      modify screen.
      endloop.
    endcase.

  • Adding a new column in table control of MIGO

    Hello,
    I want to add a column in the itemlist table control (screen 200) of MIGO to show the batch's case qty.  I used an example in BAdI MB_MIGO_BADI to add a new header tabstrip but the itemlist table is still pointing to MIGO's table control screen 200 ( used in subscreen SUB_ITEMLIST ).   I want to show my table control which has the added column instead.  
    Does anyone have any ideas how to do this ?
    Thanks.
    TTran

    Hi....
    1. Goto that screen layout and make it change mode.
    2. Follow the menu path -> goto-> secondary window-> dictionary/ program fields
    3. select the reuired field
    4. drag that into your table control , cretes new column
    5. Also capture icon in the left side i.e. T for text make that in header area of new field.
    6. Double click on this , give some name.
    7. Save check activate
    Thanks,
    Naveen.I

  • BDC table control using Excel sheet upload

    Hi All,
    I am working BDC table control.I want to upload the From excel sheet.I am using the FM ALSM_EXCEL_TO_INTERNAL_TABLE to upload the the data into my internal table.The data is populating in the internal table.
    Now i have problem tat how to populate this excel sheet data to the Bdc table control.
    Can nybody help me out.\[removed by moderator\]
    Thanks,
    Swapna.
    Edited by: Jan Stallkamp on Jul 25, 2008 10:57 AM

    after fetching data from EXCEL sheet, each column data (in excel sheet) will be uploaded to individual record into your internal table along with row number and column number, loop through that internal table and collect all your excel data into record format.pls refer the below code.
    data:
         i_excel    type alsmex_tabline occurs 0 with header line,
         l_row      type i value 1.
    data:
         begin of x_data occurs 0,
                kunnr     like RF02L-KUNNR,
                klimk(17) type c,
                CTLPC     like knkk-CTLPC,
          end  of x_data,
          begin of x_data1 occurs 0,
                data(106),
          end   of x_data1.
    call function 'ALSM_EXCEL_TO_INTERNAL_TABLE'
       exporting
         filename                      = p_fname
         i_begin_col                   = 1
         i_begin_row                   = 1
         i_end_col                     = no.of columns in your excel file
         i_end_row                     = no.of rows in your file
       tables
         intern                        = i_excel.
    if sy-subrc = 0.
       loop at i_excel.
         if l_row <> i_excel-row.
            append x_data.
            clear x_data.
         endif.
         case i_excel-col.
            when 1.
              x_data-kunnr = i_excel-value.
            when 2.
              x_data-klimk = i_excel-value.
            when 3.
              x_data-CTLPC = i_excel-value.
         endcase.
         l_row = i_excel-row.
         clear i_excel.
         at last.
            append x_data.
         endat.
       endloop.
    endif.
    then loop through the internal table X_DATA, pass the data to your table control like.
    tbl_control-field1(1) = x_data-field1.
    tbl_control-field2(1) = x_data-field2.
    tbl_control-fieldn(1) = x_data-fieldn.
    Regards,
    Sreeram.

  • Problem with a table control

    Hi gurus,
    I´ve a problem with a table control. It has 3 columns which one is a checkbox.
    I can fill all fields but in the moment I mark the checkbox this line must be unwritable. How can I do it?
    Thanks for all
    Dani

    Assign a function code to the checkbox column....
    so when u check / uncheck any entry, PAI + PBO will be triggered....
    In the PBO during the loop of table control, check the checkbox field value. if it is 'X', make the row readonly
    by looping at screen and setting screen-input = 0 for rest of the columns.
    like ...
    LOOP AT tc_itab
           WITH CONTROL tc_test
           CURSOR tc_test-current_line.
       module set_row_readonly. " loop at screen and set input = '0' if checkbox is checked...
    ENDLOOP.

Maybe you are looking for