Это возможно по-разному.Возможно, проще всего было бы использовать DataTable
с 3 столбцами a, b и c, где c является столбцом выражений с a + b в качестве выражения.
Другим вариантом является использование RowPrePaint
события DataGridView
.(Вы также можете использовать некоторые другие события, такие как CellFormatting
.)
Пример - столбец выражений
var dt = new DataTable();
dt.Columns.Add("A", typeof(int));
dt.Columns.Add("B", typeof(string));
dt.Columns.Add("C", typeof(string), "CONVERT(A, System.String) + B");
dt.Rows.Add(1, "One");
dt.Rows.Add(2, "Two");
dataGridView1.DataSource = dt;
Пример - RowPrePaint
dataGridView1.Columns.Add("A", "A");
dataGridView1.Columns.Add("B", "B");
dataGridView1.Columns.Add("C", "C");
dataGridView1.Rows.Add(1, "One");
dataGridView1.Rows.Add(2, "Two");
dataGridView1.RowPrePaint += (s, a) =>
{
if (a.RowIndex >= 0)
{
var g = (DataGridView)s;
g["C", a.RowIndex].Value = $"{g["A", a.RowIndex].Value}{g["B", a.RowIndex].Value}";
}
};