public static object Show(IWin32Window owner, string ColumnName, JTable FKTable, string FKColumnName, string currentValue) { frmFKTable frmFKTable = new frmFKTable(); if (!FKTable.Loaded) { if (!MainForm.LoadOrScanJsonFile(FKTable)) { return(null); } } Var.LockDgvMain = true; frmFKTable.fkTable = FKTable; DataTable dt = FKTable.ToDataTable(); frmFKTable.Text = ColumnName; frmFKTable.keyColumnName = FKColumnName; frmFKTable.currentValue = currentValue; frmFKTable.dgvMain.Columns.Clear(); frmFKTable.dgvMain.DataSource = dt; frmFKTable.dgvMain.Columns[FKColumnName].HeaderCell.Style.Font = new Font(frmFKTable.Font, FontStyle.Bold); frmFKTable.dgvMain.Columns[FKColumnName].HeaderCell.Style.BackColor = frmFKTable.dgvMain.Columns[FKColumnName].DefaultCellStyle.BackColor = Color.Azure; frmFKTable.dgvMain.ClearSelection(); for (int i = 0; i < FKTable.Columns.Count; i++) { frmFKTable.dgvMain.Columns[i].Visible = FKTable.Columns[i].Display || FKTable.Columns[i].IsKey; } frmFKTable.dgvMain.Columns[FKColumnName].DisplayIndex = 0; Var.LockDgvMain = false; frmFKTable.ShowDialogOrCallEvent(owner); return(frmFKTable.Value); }