When in the edit mode, GridSpinEditor inside RadGridView allows the numeric value to change by scrolling mouse centerl scroll wheel. I need to disable this. How can I disable this feature?
This feature lets the users to scrolldown to negative values, which is not desirable.
Thanks.
This feature lets the users to scrolldown to negative values, which is not desirable.
Thanks.
4 Answers, 1 is accepted
0
Hello Manu Juyal,
To disable the MouseWheel scrolling you can change the behavior of the GridSpinEditor. To achieve that you can implement custom GridSpinEditor (inherited from the Telerik one).
You will need two classes - for custom GridSpinEditor and custom GridSpinEditorElement:
When you have the custom editor you can provide it to the RadGridView:
This way you will disable the MouseWheel scrolling for the GridSpinEditors.
You mentioned that you need to prevent the user from setting negative values for the values in that column. We could advice you to ensure that by defining minimum value to the column with the GridSpinEditor. You can use the following code sniped:
Using the second approach does not require preventing the MouseWheel scrolling.
Please, let us know if you have further questions.
Regards,
Alexander
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
To disable the MouseWheel scrolling you can change the behavior of the GridSpinEditor. To achieve that you can implement custom GridSpinEditor (inherited from the Telerik one).
You will need two classes - for custom GridSpinEditor and custom GridSpinEditorElement:
public
class
CustomGridSpinEditor : GridSpinEditor
{
protected
override
RadElement CreateEditorElement()
{
return
new
CustomGridSpinEditorElement();
}
}
public
class
CustomGridSpinEditorElement : GridSpinEditorElement
{
public
CustomGridSpinEditorElement()
{
base
.ButtonDown.Click +=
new
EventHandler(ButtonDown_Click);
base
.ButtonUp.Click +=
new
EventHandler(ButtonUp_Click);
}
private
void
ButtonDown_Click(
object
sender, EventArgs e)
{
base
.PerformStep(-Step);
}
private
void
ButtonUp_Click(
object
sender, EventArgs e)
{
base
.PerformStep(Step);
}
public
override
void
PerformStep(
decimal
step)
{
}
}
When you have the custom editor you can provide it to the RadGridView:
radGridView1.EditorRequired +=
new
EditorRequiredEventHandler(radGridView1_EditorRequired);
void
radGridView1_EditorRequired(
object
sender, EditorRequiredEventArgs e)
{
if
(e.EditorType ==
typeof
(GridSpinEditor))
{
e.EditorType =
typeof
(CustomGridSpinEditor);
}
}
This way you will disable the MouseWheel scrolling for the GridSpinEditors.
You mentioned that you need to prevent the user from setting negative values for the values in that column. We could advice you to ensure that by defining minimum value to the column with the GridSpinEditor. You can use the following code sniped:
GridViewDecimalColumn column = (GridViewDecimalColumn)radGridView1.Columns[0];
column.Minimum = 0;
Using the second approach does not require preventing the MouseWheel scrolling.
Please, let us know if you have further questions.
Regards,
Alexander
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
0
Gabi
Top achievements
Rank 1
answered on 19 May 2011, 08:22 AM
Hi,
The above mentioned solution is working well for GridSpinEditor, but how can you disable the mousewheel functionality in the
Thank you.
Best regards,
-Gabriella
The above mentioned solution is working well for GridSpinEditor, but how can you disable the mousewheel functionality in the
RadDateTimeEditor?Thank you.
Best regards,
-Gabriella
0
Hello Gabi,
It is not possible to disable the mouse wheel handling in the RadDateTimeEditor, however you can use the approach which Richard suggested in this forum thread:
I hope it helps.
Best regards,
Alexander
the Telerik team
It is not possible to disable the mouse wheel handling in the RadDateTimeEditor, however you can use the approach which Richard suggested in this forum thread:
private
void
radGridView1_EditorRequired(
object
sender, EditorRequiredEventArgs e)
{
if
(e.EditorType ==
typeof
(RadDateTimeEditor))
{
e.EditorType =
typeof
(CustomDateTimeEditor);
}
}
public
class
CustomDateTimeEditor : RadDateTimeEditor
{
protected
override
RadElement CreateEditorElement()
{
CustomDateTimeEditorElement editor =
new
CustomDateTimeEditorElement();
RadDateTimePickerCalendar calendarBehavior = editor.GetCurrentBehavior()
as
RadDateTimePickerCalendar;
if
(calendarBehavior !=
null
)
{
calendarBehavior.Calendar.ShowFooter =
true
;
editor.CalendarSize =
new
Size(200, 200);
}
return
editor;
}
}
public
class
CustomDateTimeEditorElement : RadDateTimeEditorElement
{
public
CustomDateTimeEditorElement()
{
base
.TextBoxElement.TextBoxItem.MouseWheel +=
new
MouseEventHandler(TextBoxItem_MouseWheel);
}
private
void
TextBoxItem_MouseWheel(
object
sender, MouseEventArgs e)
{
if
(e.Delta > 0)
{
SendKeys.Send(
"{DOWN}"
);
}
else
{
SendKeys.Send(
"{UP}"
);
}
}
}
I hope it helps.
Best regards,
Alexander
the Telerik team
0
Jose
Top achievements
Rank 1
answered on 03 Sep 2015, 03:33 PM
For a decimal cell
Dim colSetup As GridViewDecimalColumn = TryCast(objRGV.Columns(FieldName), GridViewDecimalColumn)
If Not colSetup Is Nothing Then colSetup.Step = 0