I know I asked that question before, but still can't work it the way I'd like to.
This is the problem: I want to copy item in the same grid (with all formats, subitems, etc) in some simple way. I want this copied item to go just below the item that was copied (the original item). Sometimes I need to do it several times -- that's the easiest way for me to work my Proposals grid, because then i can just change only very little , like one cell and I have it all nice and running.
Jay
Comments
Now, here's how I manage most of my source (not all of them though... It depends on the meaning of a particular grid : for some grid, this "complexity" is not necessary -- in my db, the "inbox" grid, for instance, remains with a "single field" simple source)
(I think I've explained this somewhere else... But can't find it... So here it is again...)
1- Most of my grids have a source based on this double-field format :
["no inheritance" field] OR [field with inheritance]
E.g. :
Some details about these 2 "source fields" :Contact OR AddressBook
["no inheritance" field]
(which we could call the "item's nature" field) :- Usage : determines the "true" nature of an item (if it's a contact, an event, whatever -- of course, it can be multiple things. But the user gets to choose... IQ being IQ...)
- Special config. : It's a yes/no field with no other specification.
[field with inheritance]
- Usage : serves as marker to determine if an item is displayed in a grid
- special config. : it's a yes/no field with inheritance ON + delete on item move (the field is really ONLY a marker to identify what's displayed in a grid.)
2- The order of the fields in the source is important.
...Why ? because the first field in the expression will automatically be assigned to ALL items entered in the grid, but only if they're top level items. Other items, if entered directly as subitems, will have to be manually assigned the field. This is how IQ functions, automatically, by design at the moment.
3- In the "Grid auto-assign" entry box (in the manage grids window) one has to add the field with inheritance (which I called the "grid marker" field) so that any item added to that grid will *always* be marked as being displayed in this grid. Any sub-item placed under an item with that field will also be assigned that field (inheritance)
What are the advantages of such a method at the moment ?
Looking for an item (through the various filters) is much, much much more easy. Why ? well, try this : in one of your grid that has a single field as a source (with no inheritance), try to find and isolate an item that doesn't meet the source. Good luck... It's possible, but not very intuitive.
Otherwise, keeping the address book example above, just type in the filter box :
textfields like "*write whatever you want*"
or even
item like "*write whatever you want*"
etc,
and here you go... you'll see all occurences (in a specific grid) meeting these criteria, without having to remove/change the source or whatever
And If you want to see only the items that pertain to the nature of what should be in the grid, without all the notes and fluff (ie. : address book --> want to see only the contacts), just write "contact" in the filter bar. That's it. Here you go : only the contacts.
To try this technique easily, you can just create a new field for each grid (what I did is prefix all these new fields with some specific characters -- "zz" in my case -- so that they're clearly identified as "grid marker" fields). Don't forget to set inheritance on for these. And don't forget to : 1- put them in the right order in the source bar! 2- add the field with inheritance in the auto-assign box of the grid management window.
The only problem with this method at the moment is that items entered through the "add item" window, will not get the same treatment as if they were entered/moved directly in a grid. Which means that if you want an item to be displayed in a specific grid, using the "add item" window, you really have to choose through which way : as an item that is just displayed in a specific context, or as an item which "true nature" corresponds to the main theme of a specific grid. It's not necessarily a flaw... it just makes things a bit more complex. generally speaking, it doesn't prevent the system to work.
A work around, is to have an auto-assignment rule for the field with no inheritance.
e.g. : my contact field has the
A: addressbook = 1
rule to make sure that any contact is always part of the Address book bigger "whole". I don't have any "E:" rule as it is not really necessary in that case, but it could be in other situation (where one could write :
E: addressbook =
just to make sure that the field is emptied when an item is not a contact anymore...)i hope that was clear... It was somewhat hard to explain... :)
manage fields" and than created a sub-item, and then checked in the property pane for that new sub-item whether the field "proposals" which determines the source grid for the grid "Proposals", the box wasn't checked, which means that the new sub-item didn't "belong " to the grid "Proposals".