Problem to set width for control GridListControl in GridGroupingControl
I have a problem to set WIDTH for control GridListControl in GridGroupingControl that have to drop down from one of the cells in my grid!!!
A DataTable contains alot of columns and I need to show in drop down control(GridListControl) all them!!!
//********************
//here is the code:
gridGroupingControl1.TableDescriptor.Columns[SupplierInstanceManager.PARENT_ID_DBNAME].Appearance.AnyRecordFieldCell.CellType = "GridListControl";
gridGroupingControl1.TableDescriptor.Columns[SupplierInstanceManager.PARENT_ID_DBNAME].Appearance.AnyRecordFieldCell.DataSource = _localDataTable;
//***************************
So how I can to change width of the showing DropDown Control????
A DataTable contains alot of columns and I need to show in drop down control(GridListControl) all them!!!
//********************
//here is the code:
gridGroupingControl1.TableDescriptor.Columns[SupplierInstanceManager.PARENT_ID_DBNAME].Appearance.AnyRecordFieldCell.CellType = "GridListControl";
gridGroupingControl1.TableDescriptor.Columns[SupplierInstanceManager.PARENT_ID_DBNAME].Appearance.AnyRecordFieldCell.DataSource = _localDataTable;
//***************************
So how I can to change width of the showing DropDown Control????
SIGN IN To post a reply.
8 Replies
AD
Administrator
Syncfusion Team
October 3, 2006 04:37 AM UTC
Hi Alexander,
For GridListControl cells, you control the width of DropDown by setting the e.Inner.Size property in TableControlCurrentCellShowingDropoDownEventArgs. You control the number of items displayed in the list by setting the DropDownRows property at some point in TableControlCurrentCellShowingDropoDown.
private void gridTableControlCurrentCellShowingDropDown(object sender, GridTableControlCurrentCellShowingDropDownEventArgs e)
{
GridCurrentCell cc = e.TableControl.CurrentCell;
GridDropDownGridListControlCellRenderer cr = cc.Renderer as GridDropDownGridListControlCellRenderer;
if(cr != null)
{
//Setting the Width of the DropDown GridListcontrol
e.Inner.Size= new Size( 300, e.Inner.Size.Height);
//Setting the Height of the DropDown GridListcontrol
((GridDropDownGridListControlPart) cr.ListControlPart).DropDownRows = 2;
}
}
Sample : http://www.syncfusion.com/Support/user/uploads/GridListControlResize_f26be94e.zip
Thanks,
Haneef
For GridListControl cells, you control the width of DropDown by setting the e.Inner.Size property in TableControlCurrentCellShowingDropoDownEventArgs. You control the number of items displayed in the list by setting the DropDownRows property at some point in TableControlCurrentCellShowingDropoDown.
private void gridTableControlCurrentCellShowingDropDown(object sender, GridTableControlCurrentCellShowingDropDownEventArgs e)
{
GridCurrentCell cc = e.TableControl.CurrentCell;
GridDropDownGridListControlCellRenderer cr = cc.Renderer as GridDropDownGridListControlCellRenderer;
if(cr != null)
{
//Setting the Width of the DropDown GridListcontrol
e.Inner.Size= new Size( 300, e.Inner.Size.Height);
//Setting the Height of the DropDown GridListcontrol
((GridDropDownGridListControlPart) cr.ListControlPart).DropDownRows = 2;
}
}
Sample : http://www.syncfusion.com/Support/user/uploads/GridListControlResize_f26be94e.zip
Thanks,
Haneef
AL
Alexander
October 3, 2006 11:20 AM UTC
I have about 20 column and I need to show them all - and they could not be placed in all screen by width - I don''t want to hide some of one(column)!!!
And in handler
void gridGroupingControl1_TableControlCurrentCellShowingDropDown(object sender, GridTableControlCurrentCellShowingDropDownEventArgs e)
such code as
GridCurrentCell cc = e.TableControl.CurrentCell;
GridDropDownGridListControlCellRenderer cr = cc.Renderer as GridDropDownGridListControlCellRenderer;
if (cr != null)
{
//Setting the Width of the DropDown GridListcontrol
e.Inner.Size = new Size(300, e.Inner.Size.Height);
cr.ListControlPart.AllowResizeColumns = false;
//Setting the Height of the DropDown GridListcontrol
((GridDropDownGridListControlPart)cr.ListControlPart).DropDownRows = 5;
((GridDropDownGridListControlPart)cr.ListControlPart).Size = new Size(300,e.Inner.Size.Height);
cr.ListControlPart.Size = new Size(300, e.Inner.Size.Height);
}
can''t help me!!!
if the drop down list(GridListControl) has a width with 20 columns about 2045 pixels - I need to do it width to 700 pixels - and scrolls must be also shown!!!
And in handler
void gridGroupingControl1_TableControlCurrentCellShowingDropDown(object sender, GridTableControlCurrentCellShowingDropDownEventArgs e)
such code as
GridCurrentCell cc = e.TableControl.CurrentCell;
GridDropDownGridListControlCellRenderer cr = cc.Renderer as GridDropDownGridListControlCellRenderer;
if (cr != null)
{
//Setting the Width of the DropDown GridListcontrol
e.Inner.Size = new Size(300, e.Inner.Size.Height);
cr.ListControlPart.AllowResizeColumns = false;
//Setting the Height of the DropDown GridListcontrol
((GridDropDownGridListControlPart)cr.ListControlPart).DropDownRows = 5;
((GridDropDownGridListControlPart)cr.ListControlPart).Size = new Size(300,e.Inner.Size.Height);
cr.ListControlPart.Size = new Size(300, e.Inner.Size.Height);
}
can''t help me!!!
if the drop down list(GridListControl) has a width with 20 columns about 2045 pixels - I need to do it width to 700 pixels - and scrolls must be also shown!!!
AD
Administrator
Syncfusion Team
October 3, 2006 12:13 PM UTC
Hi Alexander,
You need to handle the CurrentCellShowingDropDown event and set the width of the dropdown gridlist control using the ColWidths.GetTotal method( It returns the total width of the specified column range). Below is a code snippet
GridCurrentCell cc = this.gridDataBoundGrid1.CurrentCell;
GridDropDownGridListControlCellRenderer cr = cc.Renderer as GridDropDownGridListControlCellRenderer;
if(cr != null)
{
cr.ListControlPart.AllowResizeColumns = false;
int width = cr.ListControlPart.Grid.Model.ColWidths.GetTotal(0, cr.ListControlPart.Grid.Model.ColCount) + 16;
cr.ListControlPart.Grid.Model.ColWidths.ResizeToFit(GridRangeInfo.Table(),GridResizeToFitOptions.IncludeHeaders);
// testing:
e.Size= new Size( width, e.Size.Height);
}
Sample: http://www.syncfusion.com/Support/user/uploads/GridListControlResize_6a92b80a.zip
Best Regards,
Haneef
You need to handle the CurrentCellShowingDropDown event and set the width of the dropdown gridlist control using the ColWidths.GetTotal method( It returns the total width of the specified column range). Below is a code snippet
GridCurrentCell cc = this.gridDataBoundGrid1.CurrentCell;
GridDropDownGridListControlCellRenderer cr = cc.Renderer as GridDropDownGridListControlCellRenderer;
if(cr != null)
{
cr.ListControlPart.AllowResizeColumns = false;
int width = cr.ListControlPart.Grid.Model.ColWidths.GetTotal(0, cr.ListControlPart.Grid.Model.ColCount) + 16;
cr.ListControlPart.Grid.Model.ColWidths.ResizeToFit(GridRangeInfo.Table(),GridResizeToFitOptions.IncludeHeaders);
// testing:
e.Size= new Size( width, e.Size.Height);
}
Sample: http://www.syncfusion.com/Support/user/uploads/GridListControlResize_6a92b80a.zip
Best Regards,
Haneef
AL
Alexander
October 3, 2006 12:34 PM UTC
It doesn''t help me!!!
I get the width equal 3060 pixels - I need to set the width for example to 700 pixels without to hide the columns
I need for example to write:
e.Inner.Size = new Size(700, e.Inner.Size.Height);
And after that I want to see drop down list(GridListControl) with mentioned size(700x...) and I could to see all my values in columns by scroll to them!!!
I need you help!!!
Best Regards, Alexander.
I get the width equal 3060 pixels - I need to set the width for example to 700 pixels without to hide the columns
I need for example to write:
e.Inner.Size = new Size(700, e.Inner.Size.Height);
And after that I want to see drop down list(GridListControl) with mentioned size(700x...) and I could to see all my values in columns by scroll to them!!!
I need you help!!!
Best Regards, Alexander.
AD
Administrator
Syncfusion Team
October 3, 2006 12:51 PM UTC
Hi Alexander,
Try this code in CurrentCellShowingDropDown and CellButtonClick event. Below is a code snippet
GridCurrentCell cc = this.gridDataBoundGrid1.CurrentCell;
GridDropDownGridListControlCellRenderer cr = cc.Renderer as GridDropDownGridListControlCellRenderer;
if(cr != null)
{
cr.ListControlPart.AllowResizeColumns = false;
cr.ListControlPart.Grid.DefaultColWidth = 35;
int count = cr.ListControlPart.Grid.ColCount;
for(int i = 1; i<=count ;i++)
cr.ListControlPart.Grid.ColWidths[i] = 35;
e.Size= new Size( 700, e.Size.Height);
}
Thanks,
Haneef
Try this code in CurrentCellShowingDropDown and CellButtonClick event. Below is a code snippet
GridCurrentCell cc = this.gridDataBoundGrid1.CurrentCell;
GridDropDownGridListControlCellRenderer cr = cc.Renderer as GridDropDownGridListControlCellRenderer;
if(cr != null)
{
cr.ListControlPart.AllowResizeColumns = false;
cr.ListControlPart.Grid.DefaultColWidth = 35;
int count = cr.ListControlPart.Grid.ColCount;
for(int i = 1; i<=count ;i++)
cr.ListControlPart.Grid.ColWidths[i] = 35;
e.Size= new Size( 700, e.Size.Height);
}
Thanks,
Haneef
AL
Alexander
October 3, 2006 01:22 PM UTC
Okey that''s work good, but how can I to show gorizontal scroll bar and to manually change(not in code) when this GridListControl was shown the width of the columns????
AL
Alexander
October 4, 2006 07:30 AM UTC
I need to ask you one more question!!!
If I have to bind to dropdown control(GridListControl) of my GridGroupingControl a DataTable with 90000 rows - the perfomance is falling down - and when I try to do some actions with my GridGroupingControl - it is work so slowly!!!!
What I have to do or what I have to improve???
Here I bind my DataTable to DropDownControl(GRidListControl):
gridGroupingControl1.TableDescriptor.Columns[SupplierInstanceManager.CANDIDATE_ID_DBNAME].Appearance.AnyRecordFieldCell.CellType = "GridListControl";
gridGroupingControl1.TableDescriptor.Columns[SupplierInstanceManager.CANDIDATE_ID_DBNAME].Appearance.AnyRecordFieldCell.DataSource = ms.dtMasterSuppliers;
gridGroupingControl1.TableDescriptor.Columns[SupplierInstanceManager.CANDIDATE_ID_DBNAME].Appearance.AnyRecordFieldCell.ValueMember = PduInstance.IdFieldName;
Thanks for the help!!!
If I have to bind to dropdown control(GridListControl) of my GridGroupingControl a DataTable with 90000 rows - the perfomance is falling down - and when I try to do some actions with my GridGroupingControl - it is work so slowly!!!!
What I have to do or what I have to improve???
Here I bind my DataTable to DropDownControl(GRidListControl):
gridGroupingControl1.TableDescriptor.Columns[SupplierInstanceManager.CANDIDATE_ID_DBNAME].Appearance.AnyRecordFieldCell.CellType = "GridListControl";
gridGroupingControl1.TableDescriptor.Columns[SupplierInstanceManager.CANDIDATE_ID_DBNAME].Appearance.AnyRecordFieldCell.DataSource = ms.dtMasterSuppliers;
gridGroupingControl1.TableDescriptor.Columns[SupplierInstanceManager.CANDIDATE_ID_DBNAME].Appearance.AnyRecordFieldCell.ValueMember = PduInstance.IdFieldName;
Thanks for the help!!!
AD
Administrator
Syncfusion Team
October 4, 2006 09:52 AM UTC
Hi Alexander,
There are also some standard optimizations that let you speed up the grouping engine. Please use these settings and check if they make a difference.
public class GroupingEngine : GridEngine
{
public GroupingEngine()
{
this.CounterLogic = EngineCounters.FilteredRecords;
this.AllowedOptimizations = EngineOptimizations.RecordsAsDisplayElements | EngineOptimizations.DisableCounters | EngineOptimizations.VirtualMode;
TableOptions.VerticalPixelScroll = false;
TableOptions.ColumnsMaxLengthStrategy = GridColumnsMaxLengthStrategy.FirstNRecords;
TableOptions.ColumnsMaxLengthFirstNRecords = 100;
}
}
Sample : http://www.syncfusion.com/Support/user/uploads/ModifiedGridListControlResize_de7aa6af.zip
Thanks,
Haneef
There are also some standard optimizations that let you speed up the grouping engine. Please use these settings and check if they make a difference.
public class GroupingEngine : GridEngine
{
public GroupingEngine()
{
this.CounterLogic = EngineCounters.FilteredRecords;
this.AllowedOptimizations = EngineOptimizations.RecordsAsDisplayElements | EngineOptimizations.DisableCounters | EngineOptimizations.VirtualMode;
TableOptions.VerticalPixelScroll = false;
TableOptions.ColumnsMaxLengthStrategy = GridColumnsMaxLengthStrategy.FirstNRecords;
TableOptions.ColumnsMaxLengthFirstNRecords = 100;
}
}
Sample : http://www.syncfusion.com/Support/user/uploads/ModifiedGridListControlResize_de7aa6af.zip
Thanks,
Haneef
SIGN IN To post a reply.
- 8 Replies
- 2 Participants
-
AL Alexander
- Sep 29, 2006 02:51 PM UTC
- Oct 4, 2006 09:52 AM UTC