public static GuiViewObject GetViewInfo(int id) {...}
// Потребителем этой переменной является только обработчик клика, поэтому не важно, что кеш подвисает в случае клика за пределами ячейки
int? _idCache;
void GridControl_CellMouseDown(object? sender, DataGridViewCellMouseEventArgs e)
{
_idCache = null;
_gridControl.CurrentCell = _gridControl[e.ColumnIndex, e.RowIndex];
var idCell = _gridControl.CurrentRow.Cells[AppSettings.IdColumnName];
_idCache = idCell.Value == DBNull.Value ? null : (int)idCell.Value;
if (_idCache.HasValue)
{
_openMenuItem.Visible = true;
_openMenuItem.Click -= Open_Click;
_openMenuItem.Click += Open_Click;
}
}
// Открываем форму
void Open_Click(object? sender, EventArgs e)
{
App.ShowDataRecordForm(_dataDomainName, _idCache);
}
EXECUTE l_cmd INTO l_result USING l_json, l_key;
...'||quote_literal(l_key)||'...
public EntityListForm()
{
InitializeComponent();
var db = App.DbProvider;
if (db.IsConnected)
{
var cmd = ApiAdmin.GetEntityList();
var result = db.Execute<DataTable>(cmd);
entityDataGridView.DataSource = result;
}
}
cdb=
(DESCRIPTION=
(ADDRESS=(PROTOCOL = TCP)(HOST = ora19c.localdomain)(PORT = 1521))
(CONNECT_DATA=
(SERVICE_NAME=cdb1)
(INSTANCE_NAME=cdb1)))
pdb=
(DESCRIPTION=
(ADDRESS=(PROTOCOL = TCP)(HOST = ora19c.localdomain)(PORT = 1521))
(CONNECT_DATA=
(SERVICE_NAME=pbd1)
(INSTANCE_NAME=cdb1)))