You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Paul Palaszewski (JIRA)" <de...@myfaces.apache.org> on 2007/02/28 18:55:57 UTC

[jira] Created: (TOMAHAWK-913) Layout of DataTable with groups + alternating rowStyles looks really bad

Layout of DataTable with groups + alternating rowStyles looks really bad
------------------------------------------------------------------------

                 Key: TOMAHAWK-913
                 URL: https://issues.apache.org/jira/browse/TOMAHAWK-913
             Project: MyFaces Tomahawk
          Issue Type: Improvement
          Components: Extended Datatable
    Affects Versions: 1.1.3, 1.1.5-SNAPSHOT
            Reporter: Paul Palaszewski
            Priority: Minor


Hi!

I'm using Extended Data Tables and wanted to use the column's groupBy. Now all normal tables of this project have rowStyles with alternating row-background-colors, so I tried to apply them also on the grouped data. It looks really bad, since the generated row-span messes up the layout.

The rowGroupStyle does not help - it's only useable as group separator style, therefor I think the name is a litte bit confusing - but that's another issue.

I suggest, that the rowStyles should work on groups rather than on rows. Tried to patch HtmlTableRenderer accordingly and works fine for me:

HtmlTableRenderer#createColumnInfos
[..]
        int currentRowSpan=-1;
        int currentRowInfoIndex=-1;
        int groupCount = 0; // added by PP

        TableContext tableContext=htmlDataTable.getTableContext();
[..]
            if(groupEndReached)
            {
                currentRowSpan=0;
                groupEndReached = false;
                groupCount++; // added by PP 
            }
            rowInfo.setGroupIndex(groupCount); // added by PP
            tableContext.getRowInfos().add(rowInfo);

HtmlTableRenderer#renderRowStyle
        String rowStyleClass;
        String rowStyle;
        if (uiData instanceof HtmlDataTable)
        {
            HtmlDataTable datatable = (HtmlDataTable) uiData;
            rowStyleClass = datatable.getRowStyleClass();
            rowStyle = datatable.getRowStyle();
// added by PP            
            TableContext tableContext = datatable.getTableContext();
            if (tableContext != null && tableContext.getRowInfos() != null && tableContext.getRowInfos().size() > rowStyleIndex) {
	            RowInfo rowInfo = (RowInfo) tableContext.getRowInfos().get(rowStyleIndex);
	            if (rowInfo.getGroupIndex() >= 0) rowStyleIndex = rowInfo.getGroupIndex();
            }

RowInfo added
	private int _groupIndex = -1;

	public int getGroupIndex() {
		return _groupIndex;
	}
	
	public void setGroupIndex(int groupIndex) {
		_groupIndex = groupIndex; 
	}


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (TOMAHAWK-913) Layout of DataTable with groups + alternating rowStyles looks really bad

Posted by "Paul Palaszewski (JIRA)" <de...@myfaces.apache.org>.
     [ https://issues.apache.org/jira/browse/TOMAHAWK-913?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paul Palaszewski updated TOMAHAWK-913:
--------------------------------------

    Status: Patch Available  (was: Open)

> Layout of DataTable with groups + alternating rowStyles looks really bad
> ------------------------------------------------------------------------
>
>                 Key: TOMAHAWK-913
>                 URL: https://issues.apache.org/jira/browse/TOMAHAWK-913
>             Project: MyFaces Tomahawk
>          Issue Type: Improvement
>          Components: Extended Datatable
>    Affects Versions: 1.1.3, 1.1.5-SNAPSHOT
>            Reporter: Paul Palaszewski
>            Priority: Minor
>
> Hi!
> I'm using Extended Data Tables and wanted to use the column's groupBy. Now all normal tables of this project have rowStyles with alternating row-background-colors, so I tried to apply them also on the grouped data. It looks really bad, since the generated row-span messes up the layout.
> The rowGroupStyle does not help - it's only useable as group separator style, therefor I think the name is a litte bit confusing - but that's another issue.
> I suggest, that the rowStyles should work on groups rather than on rows. Tried to patch HtmlTableRenderer accordingly and works fine for me:
> HtmlTableRenderer#createColumnInfos
> [..]
>         int currentRowSpan=-1;
>         int currentRowInfoIndex=-1;
>         int groupCount = 0; // added by PP
>         TableContext tableContext=htmlDataTable.getTableContext();
> [..]
>             if(groupEndReached)
>             {
>                 currentRowSpan=0;
>                 groupEndReached = false;
>                 groupCount++; // added by PP 
>             }
>             rowInfo.setGroupIndex(groupCount); // added by PP
>             tableContext.getRowInfos().add(rowInfo);
> HtmlTableRenderer#renderRowStyle
>         String rowStyleClass;
>         String rowStyle;
>         if (uiData instanceof HtmlDataTable)
>         {
>             HtmlDataTable datatable = (HtmlDataTable) uiData;
>             rowStyleClass = datatable.getRowStyleClass();
>             rowStyle = datatable.getRowStyle();
> // added by PP            
>             TableContext tableContext = datatable.getTableContext();
>             if (tableContext != null && tableContext.getRowInfos() != null && tableContext.getRowInfos().size() > rowStyleIndex) {
> 	            RowInfo rowInfo = (RowInfo) tableContext.getRowInfos().get(rowStyleIndex);
> 	            if (rowInfo.getGroupIndex() >= 0) rowStyleIndex = rowInfo.getGroupIndex();
>             }
> RowInfo added
> 	private int _groupIndex = -1;
> 	public int getGroupIndex() {
> 		return _groupIndex;
> 	}
> 	
> 	public void setGroupIndex(int groupIndex) {
> 		_groupIndex = groupIndex; 
> 	}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (TOMAHAWK-913) Layout of DataTable with groups + alternating rowStyles looks really bad

Posted by "Mike Kienenberger (JIRA)" <de...@myfaces.apache.org>.
     [ https://issues.apache.org/jira/browse/TOMAHAWK-913?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mike Kienenberger updated TOMAHAWK-913:
---------------------------------------

    Status: Open  (was: Patch Available)

> Layout of DataTable with groups + alternating rowStyles looks really bad
> ------------------------------------------------------------------------
>
>                 Key: TOMAHAWK-913
>                 URL: https://issues.apache.org/jira/browse/TOMAHAWK-913
>             Project: MyFaces Tomahawk
>          Issue Type: Improvement
>          Components: Extended Datatable
>    Affects Versions: 1.1.3, 1.1.5-SNAPSHOT
>            Reporter: Paul Palaszewski
>            Priority: Minor
>
> Hi!
> I'm using Extended Data Tables and wanted to use the column's groupBy. Now all normal tables of this project have rowStyles with alternating row-background-colors, so I tried to apply them also on the grouped data. It looks really bad, since the generated row-span messes up the layout.
> The rowGroupStyle does not help - it's only useable as group separator style, therefor I think the name is a litte bit confusing - but that's another issue.
> I suggest, that the rowStyles should work on groups rather than on rows. Tried to patch HtmlTableRenderer accordingly and works fine for me:
> HtmlTableRenderer#createColumnInfos
> [..]
>         int currentRowSpan=-1;
>         int currentRowInfoIndex=-1;
>         int groupCount = 0; // added by PP
>         TableContext tableContext=htmlDataTable.getTableContext();
> [..]
>             if(groupEndReached)
>             {
>                 currentRowSpan=0;
>                 groupEndReached = false;
>                 groupCount++; // added by PP 
>             }
>             rowInfo.setGroupIndex(groupCount); // added by PP
>             tableContext.getRowInfos().add(rowInfo);
> HtmlTableRenderer#renderRowStyle
>         String rowStyleClass;
>         String rowStyle;
>         if (uiData instanceof HtmlDataTable)
>         {
>             HtmlDataTable datatable = (HtmlDataTable) uiData;
>             rowStyleClass = datatable.getRowStyleClass();
>             rowStyle = datatable.getRowStyle();
> // added by PP            
>             TableContext tableContext = datatable.getTableContext();
>             if (tableContext != null && tableContext.getRowInfos() != null && tableContext.getRowInfos().size() > rowStyleIndex) {
> 	            RowInfo rowInfo = (RowInfo) tableContext.getRowInfos().get(rowStyleIndex);
> 	            if (rowInfo.getGroupIndex() >= 0) rowStyleIndex = rowInfo.getGroupIndex();
>             }
> RowInfo added
> 	private int _groupIndex = -1;
> 	public int getGroupIndex() {
> 		return _groupIndex;
> 	}
> 	
> 	public void setGroupIndex(int groupIndex) {
> 		_groupIndex = groupIndex; 
> 	}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (TOMAHAWK-913) Layout of DataTable with groups + alternating rowStyles looks really bad

Posted by "Mike Kienenberger (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/TOMAHAWK-913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12485352 ] 

Mike Kienenberger commented on TOMAHAWK-913:
--------------------------------------------

You need to provide patches in unified diff format.

I don't think we can change rowStyle.  I recommend that your patch rename rowGroupStyle  to rowGroupSeparatorStyle as you suggested, and create rowGroupRowStyle.   Then have any setters of rowGroupStyle issue a deprecation warning.

It's ugly, but we need to maintain backward compatibility, and we can't do that if we change the previous meaning of existing attributes.

> Layout of DataTable with groups + alternating rowStyles looks really bad
> ------------------------------------------------------------------------
>
>                 Key: TOMAHAWK-913
>                 URL: https://issues.apache.org/jira/browse/TOMAHAWK-913
>             Project: MyFaces Tomahawk
>          Issue Type: Improvement
>          Components: Extended Datatable
>    Affects Versions: 1.1.3, 1.1.5-SNAPSHOT
>            Reporter: Paul Palaszewski
>            Priority: Minor
>
> Hi!
> I'm using Extended Data Tables and wanted to use the column's groupBy. Now all normal tables of this project have rowStyles with alternating row-background-colors, so I tried to apply them also on the grouped data. It looks really bad, since the generated row-span messes up the layout.
> The rowGroupStyle does not help - it's only useable as group separator style, therefor I think the name is a litte bit confusing - but that's another issue.
> I suggest, that the rowStyles should work on groups rather than on rows. Tried to patch HtmlTableRenderer accordingly and works fine for me:
> HtmlTableRenderer#createColumnInfos
> [..]
>         int currentRowSpan=-1;
>         int currentRowInfoIndex=-1;
>         int groupCount = 0; // added by PP
>         TableContext tableContext=htmlDataTable.getTableContext();
> [..]
>             if(groupEndReached)
>             {
>                 currentRowSpan=0;
>                 groupEndReached = false;
>                 groupCount++; // added by PP 
>             }
>             rowInfo.setGroupIndex(groupCount); // added by PP
>             tableContext.getRowInfos().add(rowInfo);
> HtmlTableRenderer#renderRowStyle
>         String rowStyleClass;
>         String rowStyle;
>         if (uiData instanceof HtmlDataTable)
>         {
>             HtmlDataTable datatable = (HtmlDataTable) uiData;
>             rowStyleClass = datatable.getRowStyleClass();
>             rowStyle = datatable.getRowStyle();
> // added by PP            
>             TableContext tableContext = datatable.getTableContext();
>             if (tableContext != null && tableContext.getRowInfos() != null && tableContext.getRowInfos().size() > rowStyleIndex) {
> 	            RowInfo rowInfo = (RowInfo) tableContext.getRowInfos().get(rowStyleIndex);
> 	            if (rowInfo.getGroupIndex() >= 0) rowStyleIndex = rowInfo.getGroupIndex();
>             }
> RowInfo added
> 	private int _groupIndex = -1;
> 	public int getGroupIndex() {
> 		return _groupIndex;
> 	}
> 	
> 	public void setGroupIndex(int groupIndex) {
> 		_groupIndex = groupIndex; 
> 	}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.