Ja sam to radio tako sto sam handle-ovao dogadjaj: 'CellFormatting' za 'dataGridView'.
Recimo, prikazivao sam licne podatke korisnika (necega), a pored broja telefona/faksa, prikazivao sam ikonicu koja je simbolicno predstavljala da li je u pitanju kucni, mobilni ili sluzbeni telefon.
Prvo pripremis 'image'-s za prikaz (recimo, u mom slucaju):
Code:
Image imgTel = Image.FromFile("telephone.png");
Image imgFax = Image.FromFile("stock_send_fax.png");
Image imgHome = Image.FromFile("home.png");
Image imgJob = Image.FromFile("free_for_job.png");
Image imgMob = Image.FromFile("hardware_19.png");
Zatim, kao sto sam napisao, 'handle'-jes 'CellFormatting' dogadjaj (kao sto sam naveo, ovaj primjer prikazuje ikonice koje blize odredjuju tip telefona korisnika, a ti ga prilagodi tvom primjeru). Da ne zaboravim, kolone za prikaz 'image'-a definises da su tipa: 'DataGridViewImageColumn'. Evo koda:
Code:
private void dataGridViewTelefoni_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.RowIndex > -1 && e.ColumnIndex == dataGridViewTelefoni.Columns["TelFaks"].Index) // da li je u pitanju kolona 'TelFaks'
{
try
{
if (dataGridViewTelefoni["TipBroja", e.RowIndex].Value != null) // za svaki slucaj
{
int tt = Convert.ToInt32(dataGridViewTelefoni["TipBroja", e.RowIndex].Value); //pretvori u integer
switch (tt)
{
case 0: // radi se o telefonu
e.Value = imgTel; // prikazi ikonicu 'telefon'
break;
case 1: // radi se o faksu
e.Value = imgFax; // prikazi ikonicu 'faks'
break;
}
}
}
catch (Exception ii)
{
MessageBox.Show(Staticka.podesiText("strErr_2") + ii.Message);//Puklo na ubacivanje slike telefon/faks ...
}
}
else
if (e.RowIndex > -1 && e.ColumnIndex == dataGridViewTelefoni.Columns["VrstaTel"].Index) // da li je u pitanju kolona 'VrstaTel'
{
try
{
if (dataGridViewTelefoni["Vrsta", e.RowIndex].Value != null) // za svaki slucaj
{
int tt = Convert.ToInt32(dataGridViewTelefoni["Vrsta", e.RowIndex].Value); //pretvori u integer
switch (tt)
{
case 0: // radi se o poslovnom telefonu
e.Value = imgJob; // prikazi ikonicu 'job'
break;
case 1: // radi se o kucnom broju
e.Value = imgHome; // prikazi ikonicu 'home'
break;
case 2: // radi se o mobilnom broju
e.Value = imgMob; // prikazi ikonicu 'mobilni telefon'
break;
}
}
}
catch (Exception ii)
{
MessageBox.Show("strErr_3" + ii.Message); //Puklo na ubacivanje slike vrsta telefona ...
}
}
}