AD
Administrator
Syncfusion Team
July 15, 2004 02:12 PM UTC
One way you can try to do this is to handle the CurrentCellControlDoubleClick event and select the text there.
private void grid_CurrentCellControlDoubleClick(object sender, ControlEventArgs e)
{
GridCurrentCell cc = this.grid.CurrentCell;
if(!cc.IsEditing)
cc.BeginEdit();
GridTextBoxControl tb = cc.Renderer.Control as GridTextBoxControl;
if(tb != null)
tb.SelectAll();
}
AD
Administrator
Syncfusion Team
July 15, 2004 03:25 PM UTC
this doesn''t hightlight the text when I first double click on the cell to activate it. This event is fired when the cell is activated and double clicking on the activated cell again. so it doesn''t work.
AD
Administrator
Syncfusion Team
July 15, 2004 03:53 PM UTC
It seems to work for me in this sample using 2.0.5.1. What are you doing differently?
SetCurrent_4977.zip
AD
Administrator
Syncfusion Team
July 15, 2004 04:07 PM UTC
You have the ActivateCurrentCellBehavior set to ClickOnCell and I have it set to DblClickOnCell.
I don''t want the cell to be activated when I single click onto it.
I want the text to be highlighted when I double click onto the cell (from non-activate to activate).
AD
Administrator
Syncfusion Team
July 15, 2004 04:54 PM UTC
In this case, set
this.gridControl1.ActivateCurrentCellBehavior = GridCellActivateAction.None;
Then handle the CellDoubleClick event.
private void gridControl1_CellDoubleClick(object sender, GridCellClickEventArgs e)
{
GridCurrentCell cc = this.gridControl1.CurrentCell;
cc.BeginEdit();
GridTextBoxControl tb = cc.Renderer.Control as GridTextBoxControl;
if(tb != null)
tb.SelectAll();
}
AD
Administrator
Syncfusion Team
July 15, 2004 05:30 PM UTC
it works great for textbox control. For combo box type cell, it goes into edit mode for single click.
Is there a way to preven the combo box goes into edit mode for single click? It would be nice to have the combo box activated on double click.
AD
Administrator
Syncfusion Team
July 15, 2004 07:40 PM UTC
I only see the problem when DropDownStyle = GridDropDownStyle.Exclusive; (or if I click directly on the button with one of the other settings).
Here is one try at dynamically handling showing the combobox only after teh cell has been doubleclicked.
SetCurrent_2501.zip
AD
Administrator
Syncfusion Team
July 16, 2004 11:42 AM UTC
The sample is close enough to what I want. I found couple bugs,
Issue 1
---------
- double click on the combo box to make it active.
- double click one of the text cell (D, 4).
- switch to another window and back.
you will see the combo box is visible again.
Issue 2
---------
The text box is no long highlighted when double clicked.
Issue 3
---------
This is a general grid/combo box issue. When you have the drop down list visible, resizing the column will not resize the drop down box.
Issue 4
---------
This is my application specific. If I have the combo-box drop down list visible, clicking on the main application area does not make the list goes away. So when I drag the window aray, the drop down list stays at the same location. Is there any way I can handle this myself to remove the drop down list?
AD
Administrator
Syncfusion Team
July 16, 2004 12:52 PM UTC
Here is a revamped sample that handles problems 1 & 2. It uses different events.
3) This is by design. You can set the width yourself in CurrentCellShowingDropdown as in the sample.
4) The list should close when the grid loses focus. You can try catching the grid''s Leave event and calling grid.CurrentCell.CloseDropDown at that point. BUt I am not sure this event will be hit in your case but you could try it.
SetCurrent_1308.zip
AD
Administrator
Syncfusion Team
July 16, 2004 05:36 PM UTC
Re 4), in my case, the drop down list (or grid) didn''t lose focus when I click on the main window title bar. But in your case (sample code), the drop down goes away if I click on the title bar. The combo box must listen for another event, not the lost focus event.
AD
Administrator
Syncfusion Team
July 16, 2004 08:03 PM UTC
Our popup logic uses an IMessageFilter to trap such a click. Below is a call stack showing what happens in the sample when you click the title bar.
I am not sure what might interfere with the IFilterMessage listener. Do you have any CausesValidation properties set to false? Do you have any class that implements IMessageFilter?
comboclose_7500.zip