private void tmrRestore_Tick(object sender, EventArgs e) { tmrRestore.Enabled = false; if (dgvActs.CurrentRow == null) { return; } int rowIndex = dgvActs.CurrentRow.Index; if (dgvActs.IsStatusRow(rowIndex)) { oActCur.ClearOne(); btnEdit.Enabled = btnDelete.Enabled = false; } else { // заполнение объекта по текущей строке DataRow dr = ((DataRowView)((DataGridViewRow)dgvActs.Rows[rowIndex]).DataBoundItem).Row; oActCur.FillOne(dr); btnEdit.Enabled = (!oActCur.DateConfirm.HasValue && !oActCur.ReadyForWMS); btnDelete.Enabled = (!oActCur.DateConfirm.HasValue && !oActCur.ReadyForWMS); } tcActsDetails.SetAllNeedRestore(true); }