Vidim da je pitanje staro vec mesec dana, ali mozda ipak posluzi nekome za nesto...
Code:
private int func(int ulaz, int izlaz)
{
//
// add function
//
}
// u kodu konstruktora rucno ili kroz Design view dodaj handler metodu za CellFormating event
this.dataGrid.CellFormatting += new System.Windows.Forms.DataGridViewCellFormattingEventHandler(this.dataGridView_CellFormatting);
private void dataGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
DataGridView dataGridView = (DataGridView)sender;
if (dataGridView.Columns[e.ColumnIndex].DataPropertyName == "Stanje") // odnosno, kako se vec zove DataProperty za ciljanu kolonu
{
try
{
int ulaz = Convert.ToInt32(this.dataGridView.Rows[e.RowIndex].Cells["Ulaz"].Value);
int izlaz = Convert.ToInt32(this.dataGridView.Rows[e.RowIndex].Cells["Izlaz"].Value);
e.Value = func(ulaz, izlaz);
}
catch (Exception exc)
{
e.Value = "n/a";
}
// ovde mozes i da postavljas bilo koji parametar CellStyle-a za ovu celiju ako hoces na osnovu ostalih vrednosti u redu ili slicno, kao na primer
// da vrednosti koje ne izracunaju lepo zbog nekog exception-a odozgo, ispisu crvenim fontom "n/a"
e.CellStyle.ForeColor = (Convert.ToString(e.Value).Equals("n/a") ? Color.Red : Color.Black);
e.FormattingApplied = true;
}
}
Napomena: e.Value je tipa object, i prihvatice svaki tip (int, string... a i sliku, ako treba)...