Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
2690
XamGrid and messagebox
posted

I have Xamgrid in when when the user edits value I am show a messagebox

If value >20 then it should show message that is value you entered is > 20 ok/cancel

Ok should restore value and cancel should bring back the whole value

What should be done so that cancel restores the original value?

 

In cell exited edit mode I have

if (e.Cell.Row.RowType == RowType.DataRow)
                {
                    if (null != e.Cell.Row.Data)
                    {
                        xxx data = e.Cell.Row.Data as xxx;
                        if(data.field1 > 20)
                        {
                            MessageBoxResult result = MessageBox.Show("adjust value by 20.OK/Cancel?",
                                "xxx", MessageBoxButton.OKCancel);

                            if (result == MessageBoxResult.Cancel)
                            {
                               
                            }
                        }
                    }
                }

Parents
No Data
Reply
  • 6912
    Suggested Answer
    posted

    Hi,

    Try this approach:

    private void XGridCellExitingEditMode(object sender, ExitEditingCellEventArgs e)
    {
        if (e.Cell.Column.Key == "Int")
        {
            int resolvedValue = (int)Convert.ChangeType(e.NewValue, typeof(int), CultureInfo.CurrentCulture);
    
            if (!(resolvedValue >= 0 && resolvedValue <= 100))
            {
                if (MessageBox.Show("The value is out of the range [0; 100]. Do you want to save it anyway?", "Warning", MessageBoxButton.OKCancel) == MessageBoxResult.Cancel)
                {
                    this.XGrid.ExitEditMode(true);
                }
            }
        }
    }
    

    Invoking .ExitEditMode(true) forces the cell to exit edit mode without saving the value.

    Hope this helps

Children