public HoujinShisetsuFormController()
        {
            form           = new KaikeiSystemBody.views.HoujinShisetsuForm();
            gridController = new grid.DBPanelGridController <views.grid.HoujinShisetsuRow>(form.HoujinShisetsuGrid, true);

            form.HoujinDantaiRow.Column_UpdateValueAction += delegate(views.grid.AbstractPanelGridRow rowControl, string column, object value) {
                var row   = (rowControl as views.grid.AbstractDBGridRow).RowData;
                var table = row.Table;
                var db    = Context.KaikeiDatabase;

                if (table.SetColumnValue(row, column, value))
                {
                    table.Update(row);
                }
                else
                {
                    // ShowMsgAndChangeFocus(KaikeiSystemBody.Properties.Resources.MsgInvalidInput.Replace("%s", value.ToString()), "err", column);
                }
                (rowControl as views.grid.AbstractDBGridRow).SetRowData(row, true);    // 表示の更新
            };
            gridController.InitInsertedRow += delegate(models.db.Row row) {
                row.Table.SetColumnValue(row, "parent_id", 1);
                row.Table.SetColumnValue(row, "kubun_code", row.Table.GetMax("kubun_code") + 1);
            };
            gridController.RowUpdated += delegate(views.grid.HoujinShisetsuRow row) {
                Context.KaikeiDatabase.MTKaikeiKubun.UpdateCache();
                gridController.ResetMasterTableInfo();

                delayTimerController.SetDelayedProc(delegate() {
                    CheckParentKubunYosan(row.RowData);
                });
            };

            form.CloseButtonClicked += () => MainController.PopActivity();

            delayTimerController = new misc.DelayTimerController(form);
        }
        public KurikoshiFormController()
        {
            form = new KaikeiSystemBody.views.KurikoshiForm();
            form.SearchButtonClicked += UpdateViews;
            form.AddButtonClicked    += AddButtonClicked;
            form.DeleteButtonClicked += DeleteButtonClicked;
            form.CloseButtonClicked  += () => MainController.PopActivity();

            daikubunGridController  = new grid.DBPanelGridController <views.grid.ZenkiKurikoshiKamokuKubunRow>(form.DaikubunGrid, false);
            chukubunGridController  = new grid.DBPanelGridController <views.grid.ZenkiKurikoshiKamokuKubunRow>(form.ChukubunGrid, false);
            syoukubunGridController = new grid.DBPanelGridController <views.grid.ZenkiKurikoshiKamokuKubunRow>(form.SyoukubunGrid, false);
            hojoGridController      = new grid.DBPanelGridController <views.grid.ZenkiKurikoshiKamokuKubunRow>(form.HojokamokuGrid, false);

            daikubunGridController.RowUpdated  += (row) => DaikubunRowUpdated();
            chukubunGridController.RowUpdated  += (row) => ChukubunRowUpdated();
            syoukubunGridController.RowUpdated += (row) => SyoukubunRowUpdated();
            hojoGridController.RowUpdated      += (row) => HojokamokuRowUpdated();

            daikubunGridController.Row_GotFocusAction += delegate(views.grid.ZenkiKurikoshiKamokuKubunRow row) {
                delayTimerController.SetDelayedProc(delegate() {
                    DaikubunRowSelectionChanged();
                });
            };
            chukubunGridController.Row_GotFocusAction += delegate(views.grid.ZenkiKurikoshiKamokuKubunRow row) {
                delayTimerController.SetDelayedProc(delegate() {
                    ChukubunRowSelectionChanged();
                });
            };
            syoukubunGridController.Row_GotFocusAction += delegate(views.grid.ZenkiKurikoshiKamokuKubunRow row) {
                delayTimerController.SetDelayedProc(delegate() {
                    SyoukubunRowSelectionChanged();
                });
            };
            hojoGridController.Row_GotFocusAction += delegate(views.grid.ZenkiKurikoshiKamokuKubunRow row) {
                delayTimerController.SetDelayedProc(delegate() {
                    HojokamokuRowSelectionChanged();
                });
            };

            form.ZenkimatsuShiharaiShikinZandakaChanged += delegate() {
                delayTimerController.SetDelayedProc(delegate() {
                    var result = MessageBox.Show(
                        KaikeiSystemBody.Properties.Resources.MsgConfirmZenkimatsuShiharaiShikinZandakaChange,
                        form.Text,
                        MessageBoxButtons.OKCancel,
                        MessageBoxIcon.Warning);
                    if (result == DialogResult.OK)
                    {
                        SetZenkimatsuShiharaiShikinZandaka(form.ZenkimatsuShiharaiShikinZandaka);
                        UpdateZenkimatsuShiharaiShikinZandakaTextBox();
                    }
                    else
                    {
                        UpdateZenkimatsuShiharaiShikinZandakaTextBox();
                    }
                });
            };

            form.JikiKurikoshiChanged += delegate() {
                SetJikiKurikoshi(form.JikiKurikoshi);
                UpdateJikiKurikoshiTextBox();
            };

            focusController      = new misc.FocusController(form);
            delayTimerController = new misc.DelayTimerController(form);
        }