[SOLVED] Initial comment on DataGridview Enhancement

Answered Closed
0
0

Hi Luca,

It’s superb and great! However, these are my initial observations:

If I drop-in a control that is resizable (Panel), dock to left and set the ResizableEdges=Right, resizing the control adjusts the DGV size properly. ResizableEdges=Bottom also works OK if it’s dock to top.

However, If I dock the same control to right and set ResizableEdges=Left, resizing control goes haywire including the DGV. Same behaviour if ResizableEdges=top when Panel is dock to bottom.

Also, MinimumSize.Width and MinimumSize.Height of the DataGridview do not work. Even if I set these properties say, 500, 200, I can resize the panel that can overlap with the other panel on the opposite side and even pushes the column heading of the DGV outside of the DGV itself. (try to resize the Panel on top all the way down). I can set the MaximumSize.Height of the Panel though as a workaround.

I was actually expecting this and didn’t see anything on how to implement this.

 

All the cell editors use the equivalent edit control. You can alteady add the tools if you override or attach the edit initialization event. I will add an enhancement to make the property Tools available for the applicable DGV cell classes.

Is this still in your plate?

Thanks.

 

 

Attachment
  • You must to post comments
Best Answer
0
0

Both bugs. 🙂

Thanks.

  • You must to post comments
0
0

Yep, still on the list. However, now you can use a custom editor:

  • The DataGridView now support custom editors. You can assign or change the DataGridView.Column.Editor property at any time (even when processing the CellBeginEdit event) and use any control as the editor for the cell. The editor can also be a full form, in which case the data grid will show the form as a client-side modal (not server side modal) and will terminate editing when the form is closed. This features allows a cell to edit complex arbitrary data in custom designed forms.

Thanks for the info regarding the right/bottom resizable docking.

The Min/Max size properties seem to be working as expected. The control is still the single datagrid control and its Min/Max size refer to the entire control. The children are inside the grid and you can set the Min/Max size properties of the children.

Best,

Luca

  • You must to post comments
0
0

Hi Luca,

Sorry but I have been looking for “DataGridView.Column.Editor property” you mentioned above to no avail. Maybe, I don’t fully understand what you mean.

If possible, a small sample/test app would help me start exploring this feature.

Thanks.

  • You must to post comments
0
0

Hi,

First of all, one note: the “Controls” collection property doesn’t show on the DGV properties.

 

I downladed the sample DGVWithTools and ran it. I don’t quite understand how this is differerent from having

panel { control1, control2, dataGridView1, control3 }

I though this was more like having a column of an arbitraty control type, say a TreeView and each row would show its own TreeView. I’m not saying I need this feature; I’m just saying this would be really awesome… and groundbreaking… and mind blowing… and…

  • You must to post comments
0
0

Hi Tiago,

The DGV is a container in the designer now, you can drag & drop controls on it. The Controls collection is hidden for IntelliSal – will make it visible now, it was missed.

The main reason is that you can create a complex custom grid panel maintaining all the features, properties, events. Otherwise, if you have to wrap the grid to add a status bar, or a button bar, you lose a large number of events and methods and properties that have to be wrapped. This was a show stopper requirements on projects that used the VWG extender header used to add a toolbar and other projects using javascript widgets with grids that can show a status bar or a toolbar. With this enhancements we are way more flexible than just adding a status bar.

The other enhancement that you mentioned is also a requirement we have but it’s more complicated and will take a bit longer. But we will have the option to include a custom control in any cell and even span more cells.

Best,

Luca

 

  • Luca (ITG)
    Correction “The Controls collection is hidden for IntelliSal – will make it visible now, it was missed.” The Controls collection is visible to IntelliSense. It’s not visible in the property editor which is correct. BTW: IntelliSal was an old product of ours, similar to IntelliSense.
  • You must to post comments
0
0

Attached. It’s rudimentary but I’m sure you’ll get the gist.

  • You must to post comments
0
0

Hi Luca,

This is what I have been looking for and a great starting point. I now have something to play with.

Thanks.

 

  • You must to post comments
0
0

Hi Luca,

I am trying your sample above (Wisej.CustomColumnEditor) but don’t see anything on the grid when I start editing. And I am getting an error as per attached image.

Thanks.

  • You must to post comments
0
0

Thank you. This is fixed in the latest update (not announced yet). It is regression WJ-7683.

Best,

Luca

  • You must to post comments
0
0

Hi Luca,

Using the same sample you provided, I can see now the DomainUpdown control and AddressEditor but I noticed the following:

If I click cell 0-0 (row, col) and press Enter or F2 to start editing, the domainupdown shows up. If I press down arrow key, it ends the editing mode and executes the CellEndEdit event and the Focus Indicator now sits in cell 1-0. I can no longer move to another cell using the arrow keys and have to use the mouse and click back cell 0-0.

The same thing happens if I press the Tab key while editing cell 0-0. While in cell 0-1, pressing Enter of F2 would not open the AddressEditor form.

Is this a bug or it’s by design?

Build 1.2.77.0

Thanks.

  • You must to post comments
Showing 10 results