Codejock Forums Homepage
Forum Home Forum Home > Codejock Products > Visual C++ MFC > Report Control
  New Posts New Posts RSS Feed - Multiple ranged selection not working
  FAQ FAQ  Forum Search   Events   Register Register  Login Login

Multiple ranged selection not working

 Post Reply Post Reply Page  12>
Author
Message
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Topic: Multiple ranged selection not working
    Posted: 11 February 2009 at 3:59am
Hi,
 
Could you please tell me why the multiple range selection is not working ?
 
To reproduce this problem :
  1. Click on an item, shift-click to the end of range
  2. CTRL + click on another item, CTRL + SHIFT + click to the end of the second range
  3. The first range has been cancelled and the last item of the second range isn't selected
 
I used : myReportCtrl.SetMultipleSelection(TRUE);
 
The method SetMultiSelectionMode(TRUE); is not for this kind of feature.
 
Please help me and give me feedback.
Thank you in advance.
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 13 February 2009 at 12:51pm

What do you like to reach? Select non-continues set of Rows? It's works - with Ctrl+Click. Or you need discrete set of Cells?

May be this comments help you
BOOL m_bMultipleSelection; // TRUE if multiple selection enabled.

SetMultipleSelection(...)

BOOL m_bMultiSelectionMode; // TRUE if multiselection mode enabled (i.e. VK_CTRL is always on).

 SetMultiSelectionMode(...)
Looks like with this flag you don't need to hold Ctrl while making Click
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 16 February 2009 at 4:32am
Yes, it works only for one range.
 
I would like to use the Windows standard shortcuts keys to build, for example, two ranges of selection.
Your [CTRL + SHIFT + click] is not working correctly.
 
I am using Codejock version 12.0.1.
Do you have fixed this behavior after this release ?
 
Regards,
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 16 February 2009 at 9:01am
This is same concept as any listbox or list control non-continues selection - it collect set of items as ONE subset. You can do smth yourself with this subset - e.g. keep it in your own container. Now you can have many subsets. Current release 13 has no differences with release 12 in this spec.
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 23 February 2009 at 12:06pm

It doesn't work also with your sample Report Control Sample.

Sequence :
  • click on the first
  • shift-click to the fourth
  • ctrl-click on the seventh
  • ctrl-shift-click on the tenth
Microsoft :
 
 
Codejock :
 
 
Sorry, it doesn't work !
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 23 February 2009 at 12:15pm
OK - confirmed. Will fix in Release 13.1
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 24 February 2009 at 4:19am

Thank you !

Regards,
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 17 April 2009 at 6:18pm

Have

working version which allow to select multiple disconnected blocks of rows - for 13.1
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 21 April 2009 at 7:42pm

Sergio could you please get recent https://forum.codejock.com/uploads/DemoVersion/ReportSampleSatic.rar and try it for selection-related operations?

I am not sure we covered all expected cases so please share your opinion here in Forum
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 08 May 2009 at 8:36am
Hello Mark,

We just tested your executable and it needs some fixes :

1) In some cases, when the items are displayed for example in group, the CTRL + SHIFT doesn't select the last clicked line. When the CTRL + SHIFT keys are used, all items in the clicked range should always be selected, including the first one and the last one.

2) When displaying items in group, the group titles in the range are not selected (but the first and the last are selected!). Group titles cannot anyway be selected by using the keyboard. It's a little strange.

3) In some cases, the simple selection of a range of items (just by using the SHIFT key with a mouse click or up/down arrow keys) doesn't work upward. For example, go to the middle of the Report Control, then hold down the shift key and move up (by the up key or a mouse click) to backward select a range of items. It doesn't occur when displaying items in group.

4) Using the CTRL key without the SHIFT key should not take care of any range, it should just invert the selection of the clicked item. You have some other bugs here but they are linked to the point (3).

----------------

NB: Your WYSIWYG print mode doesn't work for the last column (the size of the last printed column is extra big). When removing the WYSIWYG print mode, in your sample app, you shoud redraw the Report Control.

----------------

Hope you will fix.

Regards,

Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 08 May 2009 at 11:10am
Sure. Thank you
 
My comments about WYSIWYG mode.
 
After you use Print Preview in this mode 1st time you can see little red markers - they suppose to help you adjust your columns to fit in the paper.
Last column always use all space - by design all printed part fit in the same visible or invisible envelope based on margin settings.
If you turn WYSIWYG mode off there is no reason to redraw control if you not set AutoSize in same call.
 
Selection bug should be fixed to moment of official release.
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 11 May 2009 at 3:29am
When you turn off the WYSIWYG mode, the little red markers are still visible.

In WYSIWYG mode, the last column is always on a new page ?
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 11 May 2009 at 11:45am
 
Thank you - you right - need to call Populate after WYSIWYG flag set back to FALSE to get rid from red markers.
If you run PrintPreview once and after adjust - you will have nice fit.
 
 
 
 
 
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 13 May 2009 at 9:21am
OK, now it works, you fixed them both.

Please let me know when the selection will be fixed.
Sergio
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 20 May 2009 at 6:27am
Hello,

What about the selection fix ? Do you have something new to test ? I would like to be sure that it will work for the next release of ToolKitPro.

Please keep me informed.

Regards,
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 21 May 2009 at 7:02pm
Hi, check this static app - https://forum.codejock.com/uploads/DemoVersion/ReportSampleSatic.rar
 
I think that mouse operations fixed. Check keyboard also please - I think there are some non-fixed cases but the only problem I found is:

using keyboard (Up or Down) + Shift we select a block. Now instead of Shift we press Control and going to another row and now press Shift again to select next block. But in this moment we also select intermediate block which we don't need!
 
I will look on this tomorrow
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 22 May 2009 at 10:00am
Hi, Thank you for your prompt answer. I've checked it and here's what I found :

- Selecting a backward range of lines (by keyboard or by mouse) using the SHIFT key, blocs the use of down/left/right arrows keys.

- Selecting a backward range of lines by mouse and using the SHIFT + CTRL keys, doesn't select the clicked item.

Please check for backward selection and let me check again after your fixes.

Regards,
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 22 May 2009 at 10:11am

OK - but when I write about mouse selection fixed (up and down direction) I mean actions:

SHIFT + Mouse - select seq. block, CTRL + Mouse - start new block (keep prev selection),  SHIFT + Mouse - select next seq. block
 
It works in both directions. I expect you will confirm this fact. Before yesterday there was a bug in reverse direction selection.
 
P.S. I applied your logic: Ctrl disable Shift and updated demo app - get again and try please
 
 
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 22 May 2009 at 11:10am
Your new bloc selection using the SHIFT + CTRL key was working nicely ! Now, it doesn't work anymore. What have you removed ?

Please go back to the previous version and just fix the two points about selecting items upward.

What do you mean when you say my Ctrl disable Shift logic ?

If you want to be sure, the selection should work as the Microsoft Windows file explorer (file list in view details mode).
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 22 May 2009 at 11:18am

It means:

BOOL bIgnoreSelection = GetKeyState(VK_CONTROL) < 0 || IsMultiSelectionMode();

BOOL bSelectBlock = GetKeyState(VK_SHIFT) < 0;

if (bIgnoreSelection) //Ctrl disable Shift!

bSelectBlock = FALSE;

For mouse selection I think this is a good feature - you don't need to release SHIFT key - just press CTRL and you can select next block.
Without it next click will extend previous selection - so no differences with and without CONTROL
 
But if we want to follow Explorer logic - you right - need to go back to previous version
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 22 May 2009 at 12:33pm
Be careful, because we still need the "MultiSelectionMode()" as some customers are certainly using it.

I can take a look at the code, if you want, to check all the behaviors and to gain time.
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 22 May 2009 at 12:46pm
Sure - please
 
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 22 May 2009 at 1:09pm
You right - multiple-selection-mode (CTRL always ON) was not working properly
 
and this list contorl also not same behaviour as Explorer - please compare
 
I finished keyboard selection code and attached updated code and sample app 
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 23 May 2009 at 1:35am
Please make all situations testing and give your comments after
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 25 May 2009 at 5:04am
What's the ListCtrl.exe ? That's not a report control, true ?

The focus caret is missing, it's difficult to see where's the caret when moving it by keyboard (CTRL + UP/DOWN ARROWS). The selection works fine for this control, but there's no single selection mode.

Now I will look at the Report Control (ForSergio), please wait one day...
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 25 May 2009 at 9:44am
No - this control from .\CodejockSVN\Samples\Controls\ListCtrl
 
But Explorer supported single-selection mode so this list control suppose to follow same rules?
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 26 May 2009 at 3:22am
Yes, I think so.
Sergio
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 26 May 2009 at 8:30am
I'm currently checking your code, I will then send you the modified files. Do you have a file comparer ? If not, you can use Beyond Compare for 30 days (www.scootersoftware.com).

Please note that I have also fixed the horizontal scrollbar to 32 bits (without any impacts for you and customers).

Meanwhile, can you please add and implement these two methods in your class :


XTPReportView.h
===============

     //-----------------------------------------------------------------------
     // Summary:
     //     This method is called to print the page header of the report control
     // Parameters:
     //     pDC              - Print device context
     //     rcPage           - Page print area
     //     bOnlyCalculate   - TRUE = only calculate
     //                        FALSE = calculate and print
     // Returns:
     //     The header height in device units.
     //-----------------------------------------------------------------------
     virtual int PrintPageHeader(CDC* pDC, CPrintInfo* pInfo, CRect rcPage, BOOL bOnlyCalculate, int nPageNumber, int nNumberOfPages);

     //-----------------------------------------------------------------------
     // Summary:
     //     This method is called to print the page footer of the report control
     // Parameters:
     //     pDC              - Print device context
     //     rcPage           - Page print area
     //     bOnlyCalculate   - TRUE = only calculate
     //                        FALSE = calculate and print
     // Returns:
     //     The footer height in device units.
     //-----------------------------------------------------------------------
     virtual int PrintPageFooter(CDC* pDC, CPrintInfo* pInfo, CRect rcPage, BOOL bOnlyCalculate, int nPageNumber, int nNumberOfPages);


XTPReportView.cpp
=================

// New method
int CXTPReportView::PrintPageHeader(CDC* pDC, CPrintInfo* pInfo, CRect rcPage, BOOL bOnlyCalculate, int nPageNumber, int nNumberOfPages)
{
     int nHeaderHeight = 0;

     if (GetReportCtrl().IsHeaderVisible())
          nHeaderHeight = GetPaintManager()->GetHeaderHeight(&GetReportCtrl(), pDC, rcPage.Width()-2);

     CRect rcHeader(rcPage.left + 1, rcPage.top + 1, rcPage.right - 1, rcPage.top + 1 + nHeaderHeight);

     if (nHeaderHeight)
          PrintHeader(pDC, rcHeader);

     return nHeaderHeight;

     // Customer implementation example :

     //int nTestHeight = rcPage.Height() / 10;
     //CRect rTest(rcPage);
     //rTest.bottom = rTest.top + nTestHeight;

     //pDC->FillSolidRect(rTest, RGB(0,0,0));
     //rTest.DeflateRect(1,1);
     //pDC->FillSolidRect(rTest, RGB(128,128,255));
     //rTest.DeflateRect(10,10);
     //pDC->DrawText(_T("Test Header"), rTest, DT_CENTER | DT_VCENTER | DT_SINGLELINE);

     //return nTestHeight;
}

// New method
int CXTPReportView::PrintPageFooter(CDC* pDC, CPrintInfo* pInfo, CRect rcPage, BOOL bOnlyCalculate, int nPageNumber, int nNumberOfPages)
{
     int nFooterHeight = 0;

     if (GetReportCtrl().IsFooterVisible())
          nFooterHeight = GetPaintManager()->GetFooterHeight(&GetReportCtrl(), pDC, rcPage.Width()-2);

     CRect rcFooter(rcPage.left + 1, rcPage.bottom - nFooterHeight - 1, rcPage.right - 1, rcPage.bottom - 1);

     if (nFooterHeight)
          PrintFooter(pDC, rcFooter);

     return nFooterHeight;
}

long CXTPReportView::PrintReport(CDC* pDC, CPrintInfo* /*pInfo*/, CRect rcPage, long nIndexStart)
{
     int nPageNumber = ...;
     int nNumberOfPages = ...;

     int nHeaderHeight = PrintPageHeader(pDC, pInfo, rcPage, FALSE, nPageNumber, nNumberOfPages);

     int nFooterHeight = PrintPageFooter(pDC, pInfo, rcPage, FALSE, nPageNumber, nNumberOfPages);

     CRect rcRows(rcPage.left + 1, rcPage.top + 1 + nHeaderHeight, rcPage.right - 1, (rcPage.bottom - 1) - nFooterHeight);

     ...


With these two methods, we add more flexibility to customize the print. The page header's and footer's height can be set more easily without having to override from CXTPReportPaintManager.
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 26 May 2009 at 10:59pm
Of course I had Beyond Compare. I also update ForSergio archive with my updates so you can get it again to refresh your files.
 
You can use CXTPReportView cpp and h from archive (my last modifications) to add your modifications but please test Wysiwyg print / printpreview after this. Now CXTPReportView supported print range of pages. I don't want to loose it.
 
Thanks for help in testing and inprovments.
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 27 May 2009 at 4:09am
Ok. I will do the changes (and add horizontal pages support). I hope that we have no conflicts with our changes.

I cannot test my changes due to our configuration, I will post the files and then check your new build.

I'm currently looking at the method CXTPReportControl::SetFocusedRow(...), which seems to be responsible of a bug.
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 27 May 2009 at 7:50am
Thanks but did you check recent  
 
and test it for selection cases?
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 27 May 2009 at 8:41am
Here's part one of two, all these changes should be checked after your build :

20090527_084025_ForSergioChange.zip


CXTPReportControl

- Fixed 16 bits range of horizontal scrollbar
- Fixed unselected clicked row for ranged selection (CTRL + SHIFT + CLICK for a backward selection)


CXTPReportPaintManager

- Added "BOOL m_bPrintPageRectangle" to be able to hide pages borders


CXTPReportView

- Added two new virtual methods :

     virtual int PrintPageHeader(CDC* pDC, CPrintInfo* pInfo, CRect rcPage, BOOL bOnlyCalculate, int nPageNumber, int nNumberOfPages, int nHorizontalPageNumber, int nNumberOfHorizontalPages);

     virtual int PrintPageFooter(CDC* pDC, CPrintInfo* pInfo, CRect rcPage, BOOL bOnlyCalculate, int nPageNumber, int nNumberOfPages, int nHorizontalPageNumber, int nNumberOfHorizontalPages);

- Changed : "int x(0), y(0);" to "int x = 0, y = 0;"

___________________

I have implemented all the code, but you will perhaps have some compiler errors because I can't build the sources on my computer. Please let me know...

I am still checking for SetFocusedRow(...) to fix another problem with ranged selection.

Now, please include my sources into yours, rebuild and update the executable. I will then check if it works.

Thank you.
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 27 May 2009 at 10:18am
Thanks - I get your files and will make a build and look on behaviour
 
Now I made a build and it looks fine - don't see any diffs in my samples
 
I put my modifications after successfull build in same ForSergio archive - please get it
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 27 May 2009 at 11:08am
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 27 May 2009 at 11:48am
- The horizontal scrollbar doesn't work (I will fix it soon, I should use another method to get the 32 bits position of the scrollbar from the Windows message.).

- If you try the print preview, there are infinite pages, but I don't think that's due to my changes. Please check it and tell me more.
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 27 May 2009 at 12:53pm
Print will print exact pages (you can try print in file, e,g use MS ImageWriter) - I am keeping printpreview unrestricted for now - this is not dengerous/ Later today will restrict to existed pages only
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 27 May 2009 at 1:57pm
I fix paging to printpreview and update source for you and sample. Please download
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 27 May 2009 at 3:35pm
this is fix for your scroll code

void CXTPReportControl::OnHScroll2(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)

{

if (pScrollBar != NULL)

{

CWnd::OnHScroll(nSBCode, nPos, pScrollBar);

return;

}

if (nSBCode == SB_THUMBTRACK || nSBCode == SB_THUMBPOSITION)

{

SCROLLINFO info;

info.cbSize = sizeof(SCROLLINFO);

info.fMask = SIF_TRACKPOS;

::GetScrollInfo(m_hWnd, SB_HORZ, &info);

nPos = info.nTrackPos;

}

But selection still working my way - not as you propose for SHIFT + CONTROL situation
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 27 May 2009 at 6:17pm
I refresh samples so you can try now -
 Horizontal scrollbar is working properly
 In WYSIWYG mode it there are fixed header and footer rows on each page
This sample aslo have menu to set Ext Selection mode (CTRL always ON). Try  it and you will see that you did not fixed it as promised... Please try if we want to keep this mode
Looks like effect is opposite - in this mode after some action app freezed!
But if I comment your only selection-related modification: [in function CXTPReportControl::OnLButtonDown(UINT nFlags, CPoint point) ]
//if (!bSelectBlock || IsMultiSelectionMode()) //No SHIFT or SHIFT + fixed CONTROL
         m_pSelectedRows->Invert(pRow);
there is no freeze effect. Please take attention to this case
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 28 May 2009 at 4:55am
Yes, you're right, you fixed the scrollbar, it's ok now, thank you.

I didn't fix the selection (only one case, but it didn't work at all, that's the line you commented), I said "Here's part one of two"...

I will now focus only on the selection !

Have you updated the sources ?
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 28 May 2009 at 8:37am
Sure
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 28 May 2009 at 9:45am
Ok, I will try to compile the sources on my computer in order to be able to debug the selection.

Is it possible to put your files into the Codejock Version 12.0.1? Will it build successfully?
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 28 May 2009 at 9:47am
Sure not - too many changes after. If you have source for 13.0 - you can. If you need few new files from Common - give me know
 
P.S. I like to comment selection modification you made : (all in XTPReportControl.cpp)
................................

if (!bSelectBlock || IsMultiSelectionMode()) //No SHIFT or SHIFT + fixed CONTROL - You add this condition

m_pSelectedRows->Invert(pRow);

..........................

case VK_DOWN:

if (pFocusedRow->IsSelected() && !bIgnoreSelection && !bSelectBlock) m_iSelectOnMouseUpRow = -1; // - You keep my restriction here

GetNavigator()->MoveDown(bSelectBlock, bIgnoreSelection);

break;

case VK_UP:

if (pFocusedRow->IsSelected() && !bIgnoreSelection && !bSelectBlock)  m_iSelectOnMouseUpRow = -1; // - You keep my restriction here

GetNavigator()->MoveUp(bSelectBlock, bIgnoreSelection);

break;

..........................

This is the problem - one OR another one. You one is WORKING if I comment my condition. Try it and confirm please. May be your way is simple and better (no extra flag m_iSelectOnMouseUpRow need!)

If you like to try under 13.1 full code - give me know. But I consider what MFC Forum should be in sync with current producation code - other case we are speaking different languages sometime
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 28 May 2009 at 12:28pm
I've just read your answer, but now, I must leave the office.

I have downloaded and installed the ToolKitPro version 13.0.0.

Tomorrow, I'll merge the new sources and finally try to build and test the selection and what you say.

See you tomorrow and have a nice afternoon.
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 28 May 2009 at 12:33pm
Ok - I will update ForSergio with needed Common updates
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 29 May 2009 at 4:37am
Hi Mark,

I'm trying to build the Codejock ToolKitPro 13.0.0 with all your new files (Report Control + Common), but I need some more files :

error C2027: use of undefined type 'CXTPReportRecordItemIcon'     g:\dev\codejock software\mfc\xtreme toolkitpro v13.0.0\source\reportcontrol\xtpreportrecorditemtext.cpp     44
...
error C2027: use of undefined type 'CXTPReportRecordItemIcon'     g:\dev\codejock software\mfc\xtreme toolkitpro v13.0.0\source\reportcontrol\xtpreportrecorditemtext.cpp     161
error C2039: 'GetParentRecord' : is not a member of 'CXTPReportRecord'     g:\dev\codejock software\mfc\xtreme toolkitpro v13.0.0\source\reportcontrol\xtpreportcontrol.cpp     4584
error C2039: 'GetParentRecord' : is not a member of 'CXTPReportRecord'     g:\dev\codejock software\mfc\xtreme toolkitpro v13.0.0\source\reportcontrol\xtpreportrecord.cpp     283
error C2059: syntax error : ')'     g:\dev\codejock software\mfc\xtreme toolkitpro v13.0.0\source\reportcontrol\xtpreportrecorditemtext.cpp     46
error C2059: syntax error : ')'     g:\dev\codejock software\mfc\xtreme toolkitpro v13.0.0\source\reportcontrol\xtpreportrecorditemtext.cpp     46
error C2061: syntax error : identifier 'CXTPReportRecordItemIcon'     g:\dev\codejock software\mfc\xtreme toolkitpro v13.0.0\source\reportcontrol\xtpreportrecorditemtext.cpp     44
error C2061: syntax error : identifier 'CXTPReportRecordItemIcon'     g:\dev\codejock software\mfc\xtreme toolkitpro v13.0.0\source\reportcontrol\xtpreportrow.cpp     317
error C2065: 'm_pRecords' : undeclared identifier     g:\dev\codejock software\mfc\xtreme toolkitpro v13.0.0\source\reportcontrol\xtpreportrecord.cpp     285
error C2065: 'm_pRecords' : undeclared identifier     g:\dev\codejock software\mfc\xtreme toolkitpro v13.0.0\source\reportcontrol\xtpreportrecord.cpp     285
error C2065: 'm_pRecords' : undeclared identifier     g:\dev\codejock software\mfc\xtreme toolkitpro v13.0.0\source\reportcontrol\xtpreportrecord.cpp     286
error C2143: syntax error : missing ';' before '{'     g:\dev\codejock software\mfc\xtreme toolkitpro v13.0.0\source\reportcontrol\xtpreportrecorditemtext.cpp     47
error C2227: left of '->GetOwnerRecord' must point to class/struct/union/generic type     g:\dev\codejock software\mfc\xtreme toolkitpro v13.0.0\source\reportcontrol\xtpreportrecord.cpp     285
error C2227: left of '->GetOwnerRecord' must point to class/struct/union/generic type     g:\dev\codejock software\mfc\xtreme toolkitpro v13.0.0\source\reportcontrol\xtpreportrecord.cpp     286
error C2270: 'GetParentRecord' : modifiers not allowed on nonmember functions     g:\dev\codejock software\mfc\xtreme toolkitpro v13.0.0\source\reportcontrol\xtpreportrecord.cpp     284
error C2270: 'GetRuntimeClass' : modifiers not allowed on nonmember functions     g:\dev\codejock software\mfc\xtreme toolkitpro v13.0.0\source\reportcontrol\xtpreportrecorditemtext.cpp     44
error C2352: 'CXTPReportRecordItem::Draw' : illegal call of non-static member function     g:\dev\codejock software\mfc\xtreme toolkitpro v13.0.0\source\reportcontrol\xtpreportrecorditemtext.cpp     54
error C2352: 'CXTPReportRecordItem::Draw' : illegal call of non-static member function     g:\dev\codejock software\mfc\xtreme toolkitpro v13.0.0\source\reportcontrol\xtpreportrecorditemtext.cpp     63
error C2352: 'CXTPReportRecordItem::GetCaptionRect' : illegal call of non-static member function     g:\dev\codejock software\mfc\xtreme toolkitpro v13.0.0\source\reportcontrol\xtpreportrecorditemtext.cpp     157
error C2352: 'CXTPReportRecordItem::OnDrawCaption' : illegal call of non-static member function     g:\dev\codejock software\mfc\xtreme toolkitpro v13.0.0\source\reportcontrol\xtpreportrecorditemtext.cpp     132
error C2352: 'CXTPReportRecordItem::OnEditChanged' : illegal call of non-static member function     g:\dev\codejock software\mfc\xtreme toolkitpro v13.0.0\source\reportcontrol\xtpreportrecorditemtext.cpp     166
error C2447: '{' : missing function header (old-style formal list?)     g:\dev\codejock software\mfc\xtreme toolkitpro v13.0.0\source\reportcontrol\xtpreportrecorditemtext.cpp     47
error C2653: 'CXTPReportRecordItemIcon' : is not a class or namespace name     g:\dev\codejock software\mfc\xtreme toolkitpro v13.0.0\source\reportcontrol\xtpreportrecorditemtext.cpp     44
error C2653: 'CXTPReportRecordItemIcon' : is not a class or namespace name     g:\dev\codejock software\mfc\xtreme toolkitpro v13.0.0\source\reportcontrol\xtpreportrecorditemtext.cpp     44
error C2653: 'CXTPReportRecordItemIcon' : is not a class or namespace name     g:\dev\codejock software\mfc\xtreme toolkitpro v13.0.0\source\reportcontrol\xtpreportrecorditemtext.cpp     44
fatal error C1903: unable to recover from previous error(s); stopping compilation     g:\dev\codejock software\mfc\xtreme toolkitpro v13.0.0\source\reportcontrol\xtpreportcontrol.cpp     4584

Please help !
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 29 May 2009 at 8:49am

OK - I add to ForSergio

Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 29 May 2009 at 9:30am
It's all right ! The Codejock ToolKitPro now compile perfectly.

Next step : I must try to compile your "ReportSampleMod.rar" project.
Sergio
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 29 May 2009 at 10:00am
Ok, I had to comment some part of code (missing Codejock shared resources files) and rename internal version 13.10 to 13.00, but now it works and I am finally able to debug!

You have also removed the "vc90" in .lib filenames, I had to rename some files.

I will debug the selection now! You will be kept informed.
Sergio
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 29 May 2009 at 10:10am
Could you please give me some explanation for the member variable m_iSelectOnMouseUpRow?
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 29 May 2009 at 10:16am
State of mouse-base direction of selection - check the place m_iSelectOnMouseUpRow = smth (if -1 means direction going down) :

if (pRow->IsSelected() && !bIgnoreSelection && !bSelectBlock)

m_iSelectOnMouseUpRow = pRow->GetIndex();

else

bFocusChanged = SetFocusedRow(pRow, bSelectBlock, bIgnoreSelection);

Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 29 May 2009 at 12:01pm
OK, so you have two member variables for identifying the current bloc selection range : m_iSelectOnMouseUpRow and m_iSelectOnKeyUpRow, one for the mouse and another one for the keyboard.

On next Tuesday (because on next Monday it's holiday) I will check them and make a small resume of how should the code work.
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 29 May 2009 at 12:13pm
OK. Please clean your previous posts from no-needed info like build bugs
 
I update files for you (only Recent ones) and also refresh app to test: https://forum.codejock.com/uploads/DemoVersion/ReportSampleSatic.rar
 
See post http://forum.codejock.com/forum_posts.asp?TID=14410 where I explain recent functional updates
 
Only now I recoginized that this is typo in demo file name - I will keep it for prev version and now upload new one:
 
 
Source also updated so take it
 
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 30 May 2009 at 10:12pm
Hi, Sergio - no need to invent wheels - take a look in MFC Grid 2.26 - http://www.codeproject.com/KB/miscctrl/gridctrl.aspx
it use proper way for mouse-based selection (but restricted for keyboard-based) so try to implement similar concept - don't use existed implementation of

SELECTED_BLOCK - it works for expand - collapse case now but we can use better approach for selection. I am busy now with many other things to finalize 13.1 so I like you conventrate on this isolate task and finish it soon - this is not difficult just be accurate and cover all cases. We can also start to use real blocks (x start, y start, x end, y end) keeping in mind future (like CJ Grid  Control instead of CJ Report Control).

 

https://forum.codejock.com/uploads/DemoVersion/ForSergio.rar

Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 02 June 2009 at 4:39am
Where are updated sources ? You gave ".../ReportSampleSatic.rar" twice. Where is "ForSergio.rar", you removed the link from your posts ?

I don't want to register on CodeProject Web site now. I know how should the selection work, don't worry I won't invent wheels, I'll just fix what wrong.
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 02 June 2009 at 9:09am
Sorry - done
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 02 June 2009 at 9:29am
Hi Mark,

The sample app. sometimes seems to hang (when starting a drag'n'drop) because there are too many blocs of selection and this kind of code is slow :

     void CXTPReportControl::OnBeginDrag(CPoint point)
     {
          ...

          int nCount = pSelectedRows->GetCount();
          for (int i = nCount - 1; i >= 0; i--)
          {
               CXTPReportRow* pRow = pSelectedRows->GetAt(i); // *** GetAt(i) does another loop ! ***

          ...
     }

     CXTPReportRow* CXTPReportSelectedRows::GetAt (int nIndex)
     {
          for (int i = 0; i < (int) m_arrSelectedBlocks.GetSize(); i++)
          {
               ...
          }
          ...
     }

I think that each Row should store its own selection state, like the CListCtrl does (one LVIS_SELECTED state per item).

Then, the CXTPReportSelectedRows should manage (simulate) bloc of selection, the array "CArray<SELECTED_BLOCK, SELECTED_BLOCK&> m_arrSelectedBlocks" should be removed and if needed, replaced by functions.

After that, it will be easier to manage state.

I fixed some part of code, but the CXTPReportSelectedRows seems also to have some bugs.

Do you want to keep on "Blocs of selection" or to move to "row selected state" ?

Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 02 June 2009 at 9:36am
The only place I want to keep old code is expand-collapse parent-childs combination - this is isolated case and not related to selection.
So let's start clean implementation of selection similar to ListView. Don't forget that ListView also allow to use GetFirst - GetNext mechanic so we should also have it
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 02 June 2009 at 9:56am
OK, I will just modify the class CXTPReportSelectedRows, but I will try to keep all existing methods (excepted the Array member variable).

And I will add and manage "BOOL m_bSelected" in the class CXTPReportRow.
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 02 June 2009 at 9:57am
You can also use https://forum.codejock.com/uploads/DemoVersion/ReportSampleSourceUpdated.rar
and check 32bit scrollbars for External Themed scrollbars - you will see they works but not in 32bit mode while internal scrollbar did
 
Need to have functions like CListCtrl
 

POSITION CListCtrl::GetFirstSelectedItemPosition() const

int CListCtrl::GetNextSelectedItem(POSITION& pos) const

UINT CListCtrl::GetSelectedCount()
const
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 02 June 2009 at 2:56pm
I updated source for you after I fixed Records: Move function today - please get it by same link
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 03 June 2009 at 11:44am
OK, I have done 75 % of the work. But now, I can't compile your new sources for the sample app., because :

reportsampleview.cpp(378) : error C2660: 'CXTPReportView::SetScrollBarCtrl' : function does not take 2 arguments
reportsampleview.cpp(432) : error C2660: 'CXTPReportControl::AssignIconViewPropNumAndIconNum' : function does not take 4 arguments
reportsampleview.cpp(577) : error C2039: 'm_iCheckWithRightButton' : is not a member of 'CXTPReportControl'
reportsampleview.cpp(578) : error C2039: 'm_iCheckRightButtonExtended' : is not a member of 'CXTPReportControl'

I think I need to update ToolKitPro sources, so could you please tell me which link belongs to ToolKitPro sources ?

I will then also check for external scrollbars.
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 03 June 2009 at 11:50am
Looks like you not read prev post - I asked you to get fresh ForSergio archive - I keep it updated all the time
You can also modify Sample code to follow Core modifications
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 03 June 2009 at 11:38pm
btw - I like to have dynamic stateless logic without any crutches (like keyboard or mouse direction like 
in CXTPReportControl : m_iSelectOnKeyUpRow, m_iSelectOnMouseUpRow and in CXTPReportRows : m_nRowBlockBegin)
Same about Row or Record state - for selection all we need we can get from CXTPReportRow : IsFocused() and IsSelected()
so I don't think we need store some other state for Row or Record. Let's make it properly - not like in past versions. And hurry up please - only 2 days left to have it 100% ready so please attach your working progress files to check
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 04 June 2009 at 5:26am
Hi Mark,

Here are my files :

20090604_050431_SergioChanges2.zip

Fixed :
- Missing selected row when selecting a bloc with CTRL + SHIFT.
- Locked move up/down by keyboard after a bloc is selected
- Bloc selection behaviour between header rows, contents rows and footer rows
- Implemented post : Topic Missing methods
- Each row store it own selected state (CXTPReportSelectedRows and CXTPReportRow), moreover, the IsSelected() virtual member should now be called in all cases to let override the m_bSelected
- Three new method to centralize selection in CXTPReportSelectedRows : WillSelectionChange(...), ChangeSelection(...) should be called for any change, _CheckBlockRange(...) check and adjust ranges
- Added two method for possible need of blocs (but slower) : GetSelectedBlockCount() and GetSelectedBlock(...)

Still need to be fixed :

- External scrollbars (Please tell me more about these ones, how are they attached to the report control?)
- m_iSelectOnMouseUpRow, m_iSelectOnKeyUpRow : I must now fill them in the correct place, the starting ranges are now incorrect.
Sergio
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 04 June 2009 at 5:37am
Still need to be fixed :

- External scrollbars (Please tell me more about these ones, how are they attached to the report control?)

- m_iSelectOnMouseUpRow, m_iSelectOnKeyUpRow : I must now fill them in the correct place, the starting ranges are now incorrect.

- Expand/Collapse : now collapsed items keep their selected state (but when collapsed the CXTPReportSelectedRows doesn't know that they are selected) ---> Tell me if you like this behaviour, I will then change the code in CXTPReportSelectedRows::_OnExpanded(...)/_OnCollapsed(...)
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 04 June 2009 at 11:18am
Thanks - I will check your code today. Ext Scrollbars - part of CXTPReportView - not CXTPReportControl. Look how they communicate in code of both classes
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 04 June 2009 at 1:13pm
Make a build - mouse selection looks like works, keyboard - not. VirtualMode show all rows selected on start?! Think about this case - I guess this is result of your state stored value which for virtual mode is one for all?!
 
Could you write your selection spec please to check the logic? I updated ForSergio file with integrated source - please get it
Back to Top
Aaron View Drop Down
Senior Member
Senior Member
Avatar

Joined: 29 January 2008
Status: Offline
Points: 2192
Post Options Post Options   Thanks (0) Thanks(0)   Quote Aaron Quote  Post ReplyReply Direct Link To This Post Posted: 04 June 2009 at 2:01pm
Originally posted by mdoubson mdoubson wrote:

 
Thank you - you right - need to call Populate after WYSIWYG flag set back to FALSE to get rid from red markers.
If you run PrintPreview once and after adjust - you will have nice fit.
 
 
 
Hi Mark,
 
Why don't you reply in ActiveX/COM forum???? I said you have to call .Redraw to get the marker updated. Do not use .Populate because grouped rows will be expanded and .... and .... and ....  Well, there are more problems with WYSIWYG  property !!!! But I will wait for first reply from you, before I will add more tests.
 
 
 
 
Product: Xtreme SuitePro (ActiveX) version 15.0.2
Platform: Windows XP (32bit) - SP 2
Language: Visual Basic 6.0

Zero replies is not an option....
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 04 June 2009 at 2:18pm
Arron - this is exactly that you can find in published code:

void CVirtualListView::OnReportWYSIWYG()

{

m_bWYSIWYG = !m_bWYSIWYG;

CXTPReportControl& wndReport = GetReportCtrl();

wndReport.GetPaintManager()->SetColumnWidthWYSIWYG(m_bWYSIWYG);

wndReport.GetReportHeader()->SetAutoColumnSizing(!m_bWYSIWYG);

wndReport.RedrawControl();

}

Populate or Redraw used here as a common way to force redraw
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 05 June 2009 at 5:21am
For the VirtualMode, you're right, we should keep using blocks. But at the time I wrote my code, selection blocks had in some cases redundancies. I saw that you made some changes between the time, did you fix that? Although CXTPReportSelectedRows could manage both selections (per elements and per blocks), we perhaps better stay using one method, the block one.

Here's what I'm trying to do for the selection :

CXTPReportSelectedRows

     // To simplify CXTPReportRows* retrieval
     // Not implemented yet!
     CXTPReportRows* GetRowTypeRows()


     // Checks and adjust the selection range
     // Return FALSE if there are no rows in the block range
     BOOL _CheckBlockRange(int nRowsCount, int& ib, int& ie);


     // Checks if the selection would change from current
     BOOL WillSelectionChange(int& ib, int& ie, BOOL bSelect);


     // Centralized method that handle all cases and that should be called for every changes in the selection
     // In this method, we check the range, and we know if we are clearing the selection, changing the selection of only one item, ...
     // Should return TRUE if the selection has changed from current, if not, return FALSE and do not notify or redraw
     BOOL ChangeSelection(int& ib, int& ie, BOOL bSelect, BOOL bNotify, BOOL bRedraw);


CXTPReportControl

Keyboard events or mouse events should call a centralized method to manage the selection.


     // To know from where we extend the selection
     // Used for mouse and keyboard
     // -1 = no selection extend = no item previously selected
     int m_nSelExtendStartingRowIndex = -1;


     // Centralized method to manage the selection
     // All the checks must be made in this method
     // Returns TRUE if the selection has changed, to be able to notify or update display later
     BOOL DoSelectionChange(int nNewlyFocusedRowIndex, BOOL bExtendTo /*if VK_SHIFT*/, BOOL bReplacePreviousSelection /*if not VK_CONTROL*/, BOOL bByMouse, BOOL bSpacebarPressed /*If not by mouse, if VK_SPACE pressed to switch row selection*/, BOOL bNotify, BOOL bUpdateDisplay)

     Implementation :

     // Keyboard - bByMouse=FALSE

     // Always do this check and change
     if m_nSelExtendStartingRowIndex==-1 and bSpacebarPressed!=TRUE
     then bExtendTo=FALSE

     if bSpacebarPressed==FALSE

          if bExtendTo==FALSE
          and bReplacePreviousSelection==TRUE
          then clear the selection
          and select nNewlyFocusedRowIndex
          and m_nSelExtendStartingRowIndex=nNewlyFocusedRowIndex

          if bExtendTo==TRUE
          and bReplacePreviousSelection==TRUE
          then clear the selection
          and select bloc from m_nSelExtendStartingRowIndex to nNewlyFocusedRowIndex
          do not change m_nSelExtendStartingRowIndex!

          if bExtendTo==FALSE
          and bReplacePreviousSelection==FALSE
          then set only the FOCUS CARET to nNewlyFocusedRowIndex
          and m_nSelExtendStartingRowIndex=nNewlyFocusedRowIndex
          Do not make any change to the selection !

          if bExtendTo==TRUE
          and bReplacePreviousSelection==FALSE
          then select bloc from m_nSelExtendStartingRowIndex to nNewlyFocusedRowIndex
          do not change m_nSelExtendStartingRowIndex!

     if bSpacebarPressed==TRUE

          if bExtendTo==FALSE
          and bReplacePreviousSelection==TRUE
          then do nothing !

          if bExtendTo==TRUE
          and bReplacePreviousSelection==TRUE
          then do nothing !

          if bExtendTo==FALSE
          and bReplacePreviousSelection==FALSE
          then invert the selection of nNewlyFocusedRowIndex
          and m_nSelExtendStartingRowIndex=nNewlyFocusedRowIndex

          if bExtendTo==TRUE
          and bReplacePreviousSelection==FALSE
          then clear the selection
          and select nNewlyFocusedRowIndex
          and m_nSelExtendStartingRowIndex=nNewlyFocusedRowIndex



     // Mouse - bByMouse=TRUE

     // Always do this check and change
     if m_nSelExtendStartingRowIndex==-1
     then bExtendTo=FALSE

     if bExtendTo==FALSE
     and bReplacePreviousSelection==TRUE
     then clear the selection
     and select nNewlyFocusedRowIndex
     and m_nSelExtendStartingRowIndex=nNewlyFocusedRowIndex

     if bExtendTo==TRUE
     and bReplacePreviousSelection==TRUE
     then clear the selection
     and select bloc from m_nSelExtendStartingRowIndex to nNewlyFocusedRowIndex
     do not change m_nSelExtendStartingRowIndex!

     if bExtendTo==FALSE
     and bReplacePreviousSelection==FALSE
     then invert the selection of nNewlyFocusedRowIndex
     and m_nSelExtendStartingRowIndex=nNewlyFocusedRowIndex

     if bExtendTo==TRUE
     and bReplacePreviousSelection==FALSE
     then select bloc from m_nSelExtendStartingRowIndex to nNewlyFocusedRowIndex
     do not change m_nSelExtendStartingRowIndex!


It's a little difficult to know how the code in the Codejock ToolKitPro works, but I think this will help !
Sergio
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 05 June 2009 at 5:33am
Please note that I have no more time to consecrate to this task, I have to do my own job. I will still check your samples .exe and your feedbacks, but I must now switch back to my development environment. Please kindly note that you don't pay us for this task, we do it...

If you get back to block selection, don't forget to put the code back to the methods _OnExpanded()/_OnCollapsed()...

Thank you.
Sergio
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 05 June 2009 at 5:49am
For the external scrollbars, if you keep the last code I sent you, and change this :

void CXTPReportView::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
     if (m_pScrollBarHor && pScrollBar == m_pScrollBarHor)
     {
          if (nSBCode == SB_THUMBTRACK || nSBCode == SB_THUMBPOSITION)
          {
               nPos = pScrollBar->GetScrollPos();
               GetReportCtrl().SetScrollPos(SB_HORZ, nPos, FALSE);
          }

          GetReportCtrl().OnHScroll(nSBCode, nPos, NULL);
     }

     CView::OnHScroll(nSBCode, nPos, pScrollBar);
}

void CXTPReportView::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
     if (m_pScrollBar && pScrollBar == m_pScrollBar)
     {
          if (nSBCode == SB_THUMBTRACK || nSBCode == SB_THUMBPOSITION)
          {
               nPos = pScrollBar->GetScrollPos();
               GetReportCtrl().SetScrollPos(SB_VERT, nPos, FALSE);
          }

          GetReportCtrl().OnVScroll(nSBCode, nPos, NULL);
     }

     CView::OnVScroll(nSBCode, nPos, pScrollBar);
}

It should work.
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 05 June 2009 at 11:59am
OK - you proposed your help and now you refused to finish with comments about pay - so I will ignore you changes and will do my own implementation later as now we are going to release version and I have no time (the reason I agree for your help) to fix old wrong design - only improve it little bit
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 08 June 2009 at 5:24am
I would really like to continue my fix, but my manager is asking me to continue internal jobs.

I have given you the complete selection cases. To finish completely the selection behavior, I need at least 2 days (to rollback to blocks of selection and change SetFocusedRow(...), OnLButtonDown/Up(...) and OnKeyDown(...)).

What are your deadlines for this Release ?
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 08 June 2009 at 8:11am
Deadlines as always - yesterday, in current case this is not a figure of speech but pure true. Release should be today. But you can try to fix your vision of selection - if it will be good and work properly in all cases - I will try to use it. Look on current state in static app - refreshed but keeped same link
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 10 June 2009 at 5:18am
OK, I have to finish some work this week, I will try to do it on next week.
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 10 June 2009 at 1:24pm
OK - let's finish it later. I also busy now and this "bug" is minor - if user can't make desired selection using one way - he can do it using another way...
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 22 June 2009 at 9:47pm
Hi, Sergio - are you ready to continue?
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 26 June 2009 at 5:52am
Hi Mark,

I don't know, I'm waiting for a response from my manager.

Meanwhile, could you please fix this method in the CXTResize::Size() :


     void CXTResize::Size()
     {
          if (m_arrItems.GetSize() > 0)
          {
               CSize szWindow = CXTPClientRect(m_pWnd).Size();
               if (szWindow.cx == 0 || szWindow.cy == 0)
                    return;

               //////////////////////////
               // New Code - Begin - take care of limits
               if (m_szMin.cx != 0)
                    szWindow.cx = max(m_szMin.cx, szWindow.cx);

               if (m_szMin.cy != 0)
                    szWindow.cy = max(m_szMin.cy, szWindow.cy);

               if (m_szMax.cx != 0)
                    szWindow.cx = min(m_szMax.cx, szWindow.cx);

               if (m_szMax.cy != 0)
                    szWindow.cy = min(m_szMax.cy, szWindow.cy);
               // New Code - End - take care of limits
               //////////////////////////

               AjustResizeRect(szWindow);

               CSize szDelta = szWindow - m_szWindow;

               HDWP hDWP = ::BeginDeferWindowPos((int)m_arrItems.GetSize());

               ...


We are using this class for a child window (no WM_GETMINMAXINFO).

Thank you in advance,
Regards.
Sergio
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 26 June 2009 at 6:36am
My manager is asking me to evaluate how much time it will take. I need your latest files to estimate the work load.

Please note that any intermediary merge take time, I would appreciate if we could avoid them.
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 26 June 2009 at 6:43am
If you get recent official version of MFC code - you can start from here
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 26 June 2009 at 7:59am
OK, I will download it now!
Sergio
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 26 June 2009 at 8:33am
Download OK. I will launch the setup on next Monday.
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 26 June 2009 at 4:26pm
 
I think that all or almost all related to rows selection and records move I already fixed but I don't have testers to check all possible test-cases so please check modified code and run different cases based on your app or our sample - including drag'n drop cases. Thanks
 
Most recent updates here -
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 01 July 2009 at 5:02am
Hi Mark,

Thank you for having included all the small enhancements.

I am currently using your release version 13.1.0 and successfully built one of our projects.

I will keep you informed as soon as I have tested your ReportControlMFCUpdated.rar files.

Best regards,
Sergio
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 02 July 2009 at 6:02am
Hi Mark,

In the release 13.1.0, the resizing of the Report Control behaves differently. When using the full column scrolling mode and when the control reaches a certain low limit, the control is automatically switched to a non-full column scrolling mode (the horizontal scrollbar is automatically hidden).

How can we now avoid that ?
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 02 July 2009 at 9:00am
Please re-build using recent updates and confirm as I don't have such effect. Could you reproduce it on
 
https://forum.codejock.com/uploads/DemoVersion/ReportSampleStatic.rar
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 02 July 2009 at 9:27am
It doesn't occur in your sample, because you don't have as much columns as we have (approx. 100). It's working fine with a few columns.

Please try to add 100 columns in your sample.
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 02 July 2009 at 9:33am
I don't understand - are we using same code or not?
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 02 July 2009 at 9:51am
I am using the Toolkit Pro of the latest release (13.1.0) to test my code.

Your sample cannot be modified to carry more columns because it's an executable.

Here is the case : each column counts for approx. 10 pixels, multiply this number with the number of columns, and now reduce the width of the report control to be lower than this number.
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 02 July 2009 at 9:56am
Latest release is not that I mean - you need to get updates from https://forum.codejock.com/uploads/DemoVersion/ReportControlMFCUpdated.rar
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 02 July 2009 at 10:13am
OK, you tried to fix it and now I should check it by using your latest source code.

I can't do it now, it take time to change my environment, I will test it when I will test the multiple selection.

Please wait one or three days, thank you.
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 02 July 2009 at 10:17am
You are doing smth sensless as scrolling code changed
Back to Top
Sergio View Drop Down
Senior Member
Senior Member
Avatar

Joined: 18 September 2006
Status: Offline
Points: 216
Post Options Post Options   Thanks (0) Thanks(0)   Quote Sergio Quote  Post ReplyReply Direct Link To This Post Posted: 02 July 2009 at 10:33am
Could you please be more precise ?

That's not senseless, we will distribute our products with the latest official release of Codejock, the 13.1.0, which doesn't seem to be working.
Sergio
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 02 July 2009 at 10:37am
this is why I propose you to use patch and we can fix fullcolumnscroll case faster using same code
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 02 July 2009 at 11:07am
uploads/20090702_111440_ReportDialogSam.rar
 
This is simple sample with many columns - working fine with autosizing and not autosizing mode
and FullColumnScrolling with not autosizing 
 
but need to fix FullColumnScrolling + AutoSizing case (if such mode have some sense?)
 
 
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 02 July 2009 at 11:16am
Sergio - why don't you open the issue and we can work together to fix your problem and same time release result for all users?
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 12 July 2009 at 12:17am
Back to Top
mdoubson View Drop Down
Senior Member
Senior Member
Avatar

Joined: 17 November 2008
Status: Offline
Points: 1705
Post Options Post Options   Thanks (0) Thanks(0)   Quote mdoubson Quote  Post ReplyReply Direct Link To This Post Posted: 15 July 2009 at 10:26pm
Back to Top
 Post Reply Post Reply Page  12>
  Share Topic   

Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 12.04
Copyright ©2001-2021 Web Wiz Ltd.

This page was generated in 0.172 seconds.