错误排查:
    新增 修改 报错 未将对象引入到对象实例: 表和Model绑定的字段不匹配。

    如果自定义的组件或者控件未显示在工具箱:
    C#  WinFrom DevGird & Winform - 图1

    如果Model 无法初始化,可能页面手动绑定的数据出错。

    速查按钮选择框的事件应该为Button_Click

    菜单不显示:执行权限未配置!如果执行权限配置或者找不到配置,SSMAINMUEN 数据表需要手动插入!

    1. this.DevGridControl.BindingModel = _model_; // DevGridControl绑定model
    2. this.DevGridControl.SetColumnButton("XXX", dgMain_MRO_ButtonClick);// 绑定某列为按钮事件
    3. dgDetail.SetColumnLink("详情", DetailRowCellClick);// 绑定某列为详情事件
    4. this.DevGridControl.State = DomainModel.ControlStates.View; // 控制DevGridControl状态是否是只读或编辑
    5. this.DevGridControl.HideGroupFilter(); // 控制DevGridControl过滤栏隐藏
    6. this.DevGridControl.IsLookupWithFocusNewRow() // 返回 return 是否当前为新编辑的行
    7. this.DevGridControl.CompleteEdit(); // 完成编辑状态
    8. GridView gv = (GridView)(this.DevGridControl.Grid.MainView); // 获取DevGridControl中的主GridView
    9. GridView gv = this.DevGridControl.Grid.MainView as GridView;
    10. DataRowView drv = this.model_MROPRODUCT1.MainBindingSource.Current as DataRowView; // 主表编辑的数据
    11. GridView grView = wgMROBOM.Grid.MainView as GridView;
    12. DataRow drva = grView.GetFocusedDataRow(); // 获取聚焦行的数据s
    13. this.Model.MainBindingSource.CurrentChanged += new EventHandler(MainBindingSource_PositionChanged); // 主表绑定数据源切换焦点事件
    14. dd
    15. this.wgPaging1.RowAmountPerPage = GlobalVariable.AmountPerPage; // 设置分页控制每页行数
    16. this.wgToolsTrip1.AddUnDisPalyToolsItem(this.wgToolsTrip1.tsbDel); // 设置工具栏不显示的item
    17. DataSet ds = new DataSet("School"); // 数据表集合(数据库)
    18. DataTable dt = new DataTable("Student"); // 数据表
    19. DataColumn dcAutoId = new DataColumn("AutoId", typeof(int)); // 数据表中列
    20. DataRow currentRow = ds.Tables[i].Rows[r]; // 数据表中行
    21. // 子表作业项添加自定义
    22. GridView gv = this.wgMROBOM.Grid.MainView as GridView;
    23. gv.ShowingEditor += wgMROBOM_ShowingEditor; // 添加子表编辑前事件
    24. gv.ValidateRow += wgMROBOM_ValidateRow;
    25. gv.InitNewRow += wgMROBOM_InitNewRow;// 添加子表新增行事件
    26. gv.ShowingEditor += _ShowingEditor; // 注册绑定单元格编辑前事件
    27. gv.OptionsBehavior.Editable = true;// 是否可编辑
    28. gv.Columns["XXXX"].Visible = false; // 设置 GridView 某列是否显示
    29. gv.FocusedColumn.FieldName; // 获取聚焦GridVied 聚焦行的列名字
    30. // 读取子表 指定DataTable
    31. model_.Data.Domain.Tables["TABLE_NAME"]
    32. // 速查子表新增
    33. if (wdgDetail.IsLookupWithFocusNewRow())
    34. {
    35. this.lkpMROLEDGER.TackbackResult = (dic, model) =>
    36. {
    37. DataRowView drva = this.model_MROEXCEPTION1.BindingSources["MOULDEXCEPTIONA"].AddNew() as DataRowView;
    38. drva["MROLEDGER_SERIALNUMBER"] = dic[0]["更换子件序列号"];
    39. drva["MROPRODUCT_GUID"] = dic[0]["更换MRO台账GUID"];
    40. drva["RLIFE"] = dic[0]["更换子件剩余寿命"];
    41. };
    42. this.lkpMROLEDGER.Lookup(KLDomainModel.TakebackModeEnum.ImportNew);// 新增
    43. }
    44. else
    45. {
    46. this.lkpMROLEDGER.TackbackResult = (dic, model) =>
    47. {
    48. if (!string.IsNullOrEmpty(dic[0]["原MRO基本信息GUID"].ToString()))
    49. {
    50. DataRowView drva = this.model_MROEXCEPTION1.BindingSources["MOULDEXCEPTIONA"].Current as DataRowView;
    51. drva["MROLEDGER_SERIALNUMBER"] = dic[0]["更换子件序列号"];
    52. drva["MROPRODUCT_GUID"] = dic[0]["更换MRO台账GUID"];
    53. drva["RLIFE"] = dic[0]["更换子件剩余寿命"];
    54. }
    55. };
    56. this.lkpMROLEDGERChange.Lookup(KLDomainModel.TakebackModeEnum.ModifyCurrent); // 修改
    57. }
    58. this.wdgDetail.CompleteEdit();
    59. /* 设置DevGrid 表格数据 小数显示位数 */
    60. /// <summary>
    61. /// 设置小数位数
    62. /// </summary>
    63. /// <param name="sender"></param>
    64. /// <param name="e"></param>
    65. private void View_CustomRowCellEdit(object sender, CustomRowCellEditEventArgs e)
    66. {
    67. if (e.RowHandle < 0)
    68. return;
    69. if (e.Column.FieldName.Contains("AQTY"))
    70. {
    71. RepositoryItemCalcEdit textEdit = new RepositoryItemCalcEdit();
    72. textEdit.Mask.UseMaskAsDisplayFormat = true;
    73. int length = string.IsNullOrEmpty(view.GetRowCellValue(e.RowHandle, "PLACES").ToString()) ? 2 : int.Parse(view.GetRowCellValue(e.RowHandle, "PLACES").ToString());
    74. textEdit.EditMask = $"n{length}";
    75. e.RepositoryItem = textEdit;
    76. }
    77. }