How can I Show MunericUpDown control as one of the editable columns in UltraGrid?
Please help on this.
Thanks,
Strictly speaking the answer to your question is to use the UltraControlContainerEditor to host a NumericUpDown control, and assign the UltraControlContainerEditor to the column's EditorComponent property.
Another approach is to use the column's masking and spin button capabilities to do it, like so:
UltraGridColumn column = e.Layout.Bands[x].Columns[y];column.MaskInput = "nnn";column.MinValue = 0;column.MaxValue = 999;column.Style = Infragistics.Win.UltraWinGrid.ColumnStyle.IntegerWithSpin;column.ButtonDisplayStyle = Infragistics.Win.UltraWinGrid.ButtonDisplayStyle.Always;
It works. Thanks your great support.
I try your code but
editorWithMask.SpinIncrement not exist
Pleas help me.
If the SpinIncrement property does not exist, then you are probably using a very old version of the controls from before that feature was added. The solution would be to update to a new version or handled the spin button events and increment the value yourself.
Thank you Mike for your response.
I use Infragistics v6.2, but i not able to upgrade controls. Who is the spin event when i can increment value on 1.0
Please help me.
Hi,
I don't even have v6.2 any more, so I'm not absolutely sure. But I think you cannot use an editor in that case, you will need an Editor Control.
So what you would do is put an UltraMaskedEdit control on the form and set the EditorControl property of the column to that UltraMaskedEditor control.
Then you handle the EditorSpinButtonClick event of the UltraMaskedEdit control.
Here's some sample code. But frankly, this code isn't really that great. I would put the UltraMaskedEdit control on the form and set it's properties in the designer instead of using the InitializeLayout event. It's just cleaner.
private void ultraGrid1_InitializeLayout(object sender, Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs e) { UltraGridLayout layout = e.Layout; UltraGridBand band = layout.Bands[0]; UltraGridOverride ov = layout.Override; UltraGridColumn column = band.Columns["Double 1"]; column.Header.VisiblePosition = 1; column.MaskInput = "nnn.n"; column.MinValue = 0.0; column.MaxValue = 999.9; UltraMaskedEdit ultraMaskedEdit = new UltraMaskedEdit(); this.Controls.Add(ultraMaskedEdit); ultraMaskedEdit.EditorSpinButtonClick += new Infragistics.Win.UltraWinEditors.SpinButtonClickEventHandler(ultraMaskedEdit_EditorSpinButtonClick); ultraMaskedEdit.ButtonsRight.Add(new SpinEditorButton()); column.EditorControl = ultraMaskedEdit; column.ButtonDisplayStyle = Infragistics.Win.UltraWinGrid.ButtonDisplayStyle.Always; } void ultraMaskedEdit_EditorSpinButtonClick(object sender, Infragistics.Win.UltraWinEditors.SpinButtonClickEventArgs e) { UltraGridCell cell = e.Context as UltraGridCell; switch (e.ButtonType) { case Infragistics.Win.UltraWinEditors.SpinButtonItem.NextItem: cell.Value = (double)cell.Value + 0.1; break; case Infragistics.Win.UltraWinEditors.SpinButtonItem.PreviousItem: cell.Value = (double)cell.Value - 0.1; break; } }
Thank you very match.