private void ux_datagridview_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { DataGridView dgv = (DataGridView)sender; DataView dv = ((DataTable)((BindingSource)dgv.DataSource).DataSource).DefaultView; if (dv != null && e.ColumnIndex > -1) { DataColumn dc = dv.Table.Columns[e.ColumnIndex]; if (_sharedUtils.LookupTablesIsValidFKField(dc) && e.RowIndex < dv.Count && dv[e.RowIndex].Row.RowState != DataRowState.Deleted) { if (dv[e.RowIndex][e.ColumnIndex] != DBNull.Value) { e.Value = _sharedUtils.GetLookupDisplayMember(dc.ExtendedProperties["foreign_key_dataview_name"].ToString().Trim(), dv[e.RowIndex][e.ColumnIndex].ToString().Trim(), "", dv[e.RowIndex][e.ColumnIndex].ToString().Trim()); } dgv[e.ColumnIndex, e.RowIndex].ErrorText = dv[e.RowIndex].Row.GetColumnError(dc); e.FormattingApplied = true; } if (dc.ReadOnly) { e.CellStyle.BackColor = Color.LightGray; } if (dc.ExtendedProperties.Contains("is_nullable") && dc.ExtendedProperties["is_nullable"].ToString() == "N" && string.IsNullOrEmpty(dv[e.RowIndex][e.ColumnIndex].ToString())) { e.CellStyle.BackColor = Color.Plum; } } }
void textLUBinding_Format(object sender, ConvertEventArgs e) { Binding b = (Binding)sender; DataTable dt = (DataTable)((BindingSource)b.DataSource).DataSource; DataColumn dc = dt.Columns[b.BindingMemberInfo.BindingMember]; if (_performLookups && !string.IsNullOrEmpty(e.Value.ToString())) { e.Value = _sharedUtils.GetLookupDisplayMember(dc.ExtendedProperties["foreign_key_dataview_name"].ToString(), e.Value.ToString(), "", e.Value.ToString()); } }