Drag and Drop in the Datasource Browser
This document shows what should be possible to drag and what should be happen when droped inside the datasource browser.
Source |
Destination |
Effect |
---|---|---|
Table object |
Table container |
Opens Wizard, whole table and data will be copied. See 1 |
Query object |
Table container |
Opens Wizard, whole query (as table or as view) and data will be copied. See 2 |
Qurey object |
Query container |
Copies the query object |
Grid-control |
Table container |
Opens Wizard, only selection will be copied. See 3 |
1 The table object as drag source
Inside the datasorce browser, the table object can only be copied onto the table container. When copied all properties must also be copied. That means that the following properties have to look for if they are copied too.
Columns
Keys
Indexes
table settings, like color, filter and filter applied, sorting
column settings, like number format
and the data
Outside the datasource browser, the table should be exported in HTML and RTF format. Additionally the writer should support extra functionality.
2 The query object as drag source
The query object can be copied onto the query container. It should be a 1:1 copy. All properties have to be copied, the same as for the table object. When copied onto the table container, the user could choise between a table object to be created or an view object when the database supports it.
the SQL statement
the column settings as by a table
the query settings, like color
4 The grid-control as drag source
The grid control shows the current selection of the tree view. This view can be sorted and filtered. At this reason it is possible that the source contains a filter which has to be include when coping data. Additionally it is possible to do a multiselection on the rows. When this selection is copied on the table container, only the selected rows have to be copied and not the whole rows. Another point to mention is that the rows must also be dragable to other applications like the writer, this is also valid for the column header.