OpenEdge: Get clicked column in a browser - browser

I have a browser object and I'm trying to get the number of the column in which the user clicked a cell - is that possible? My browser is called brw-misc so when I try:
brw-misc:CURRENT-COLUMN
I get '?' in return unless I've clicked on the column heading to sort the records before that.
brw-misc:COLUMN
Always returns '1'.

The CURRENT-COLUMN attribute only works with editable browsers. That's probably why you're getting a null (?). The COLUMN attribute is where the browser is positioned on the frame.
If the browser is editable, you can use
brw-misc:CURRENT-COLUMN:LABEL
to get the column label. You can then use that to figure out which column number that is.

TheDrooper offered some good advice above.
If that column is editable, and clicking it actually gets inside the field (to update the value), then you can query FOCUS:NAME to learn what is the column name you just clicked. It's a handle, all handle attributes apply.
It's going to be way trickier if you don't have the fields enabled, though. You didn't specify if this is client GUI, I'll go ahead and assume it is (rather than Webspeed). You need to capture mouse coordinates using Windows DLLs, your window coordinates (using X and Y attributes), then your browse columns X and Y, and hope that browse is not horizontally scrollable, lol.
If you do all that, you can tell which column they clicked on. Oh, and since (As far as I understood) you're more worried on which column he clicked on, rather than which cell, you're going to value X over Y (but don't forget to test to make sure they actually clicked INSIDE the browse at all).
Off the top of my mind, that's what I can think of. Not sure if it helps, but it might point you somewhere!

Related

Data validation drop down list - not showing first value?

I have very strange situation which I am not sure how to resolve.
I have list of values:
But once people try to use the drop down list all they can see is this and they think there is no Perm option. Obviously all they need to do is to scroll up, but not everybody is smart enough to do so.
Is there any way to make the list bigger, or maybe set this up somehow so the perm will be visible from the start.
Excel will default to the first blank entry in the set when viewing the PickList. If you want a blank in the the PickList, make it the first element in the range. If you don't require a blank then you can simply edit your range to not include that last cell.
I've not found a way to enlarge the picklist window directly. But if you 'zoom in' on the page the picklist window will enlarge with the enlargement of the cells.

How can I limit the display of columns on Excel?

I would like to create an Excel document with all the date from 01-01-2018 to 31-12-2018 with each day in a separate columns but only display a certain amount of days (not the entire year) with the possibility to scroll left or right to see the rest. What can I do to achieve this ?
I've tried to to freeze the panes but it's not what I want.
What I have :
What I would like (with a scroll bar) :
You can only freeze one side of the table, and even if you use the Split button to try to hold the other side still, it turns off the freeze, so you can't do both at once (which would have solved it).
https://support.office.com/en-us/article/split-panes-to-lock-rows-or-columns-in-separate-worksheet-areas-516a7001-b3ed-4122-a6bb-fd6d4a9d6434
If you turn the spreadsheet sideways, so the dates go down the page instead of across, you may be able to do something with the Group button:
Sorry but I don't think there is a way to solve it properly, maybe you can move the static columns from the right over to the left too?

CKEditor: Tabletools doesnt remember my properties

ive installed CKEditor on my website with the tabletools Plugins from here: http://ckeditor.com/addon/tabletools. Everything but the tabletool dialog works well.
For example: I have edited my table cell width to 33.333% and hit ok. A few minutes later I wanted to set a background color on that table cell, but unfortunatly the width (and all the other changes ive made in that dialog) was empty. That means that i cant make any further changes to that cell if i dont want to fill all the other again. Does anyone knows if this is intended and if their are any solutions to get the fields filled again?
I'm pretty certain that next time you (unconsciously) select different table cells than previously. Unfortunately it's not visible, because browsers render selections in tables poorly. For example selection may be extended to contain beginning of next cell and in such case you will see only selection in the first cell.
To make sure that on right click selection won't overflow current cell make sure to click in the middle of the text. Or, if you mistakenly opened dialog for two table cells (then width of first cell won't be loaded into the dialog), just set the values you want to change and editor won't reset those values which you haven't filled.

Specifying which column a button will be placed in

I am using TableLayout, and when I am placing a button, I want to specify which column the button should be placed in. For example, column 4. The dirty way to go around this is to place 3 empty views before I place the button.
But, is there a better way? I was told to use android:layout_column="4" in the code, but it made the application crash.
The solution that I found is by using the view its basically an empty view that just takes up space in the view its placed in. Alternatively a can be used, will be able to do what I wanted to do before BUT unfortunately the columns and rows aren't distributed evenly or automatically which is a drawback.

CListCtrl - how to find it is selected

I have got a CDialog Class, inside which there are two ClistCtrl classes.
I want to find out which of the listCtrl's is selected at the moment.
say, listCtrl A and B. Even when I move between A and B, suppose first I go to A and select a row. Then even when I go to B and select an item there, item in A remains selected as I don't come to know that I have gone in other list.
Any suggestions, how I can find this.
If understand you correctly, you need to know which one of list boxes has a focus. You could do that by calling GetFocus(), it returns a pointer to the focused control.
The problem you might have though is when your dialog is not an active window and then focus would be somewhere else. In this case you should be tracking WM_SETFOCUS and WM_KILLFOCUS messages and keeping record of which of the list boxes was activated last. In MFC there are callbacks CWnd::OnSetFocus and CWnd::OnKillFocus that could be used to achieve that.
I found a way of doing this. I can register for NM_Click notifications on both the lists
When list A is selected, I set curSel of list B to -1 and vice versa.

Resources