ADDING IMAGE COLUMN TO DATA TABLE & DATA GRID VIEW
DataTable dtMain = null;
dtMain = new DataTable();
dtMain.Columns.Add("CustomerID");
dtMain.Columns.Add("CustomerName");
dtMain.Columns.Add("ImageColumn", typeof(Image));
string photopath = Application.StartupPath + @"\images\";
dtMain.Rows.Add("GH-456", "Kenny Margaret", Image.FromFile(photopath + "1.jpg"));
dtMain.Rows.Add("HQ-450", "Cinderella", Image.FromFile(photopath + "2.jpg"));
dtMain.Rows.Add("KN-840", "Jonathan Brandis", Image.FromFile(photopath + "3.jpg"));
dtMain.Rows.Add("JI-129", "Michael Hardy", Image.FromFile(photopath + "4.jpg"));
dtMain.Rows.Add("GE-639", "Joseph Stalin", Image.FromFile(photopath + "5.jpg"));
dataGridViewMain.DataSource = dtMain; // Adding datatable to datagridview
dtMain.Columns.Add("CustomerID");
dtMain.Columns.Add("CustomerName");
dtMain.Columns.Add("ImageColumn", typeof(Image));
string photopath = Application.StartupPath + @"\images\";
dtMain.Rows.Add("GH-456", "Kenny Margaret", Image.FromFile(photopath + "1.jpg"));
dtMain.Rows.Add("HQ-450", "Cinderella", Image.FromFile(photopath + "2.jpg"));
dtMain.Rows.Add("KN-840", "Jonathan Brandis", Image.FromFile(photopath + "3.jpg"));
dtMain.Rows.Add("JI-129", "Michael Hardy", Image.FromFile(photopath + "4.jpg"));
dtMain.Rows.Add("GE-639", "Joseph Stalin", Image.FromFile(photopath + "5.jpg"));
dataGridViewMain.DataSource = dtMain; // Adding datatable to datagridview
download full source code. Click download
ADDING IMAGE BUTTON COLUMN TO DATA GRID VIEW
dtMain = new DataTable();
dtMain.Columns.Add("CustomerID");
dtMain.Columns.Add("CustomerName");
dtMain.Columns.Add("ImageColumn", typeof(Image));
string photopath = Application.StartupPath + @"\images\";
dtMain.Rows.Add("GH-456", "Kenny Margaret", Image.FromFile(photopath + "1.jpg"));
dtMain.Rows.Add("HQ-450", "Cinderella", Image.FromFile(photopath + "2.jpg"));
dtMain.Rows.Add("KN-840", "Jonathan Brandis", Image.FromFile(photopath + "3.jpg"));
dtMain.Rows.Add("JI-129", "Michael Hardy", Image.FromFile(photopath + "4.jpg"));
dtMain.Rows.Add("GE-639", "Joseph Stalin", Image.FromFile(photopath + "5.jpg"));
dataGridViewMain.DataSource = dtMain;
On event dataGridViewMain_CellContentClick
write following code
if (e.ColumnIndex == dataGridViewMain.Columns["ImageColumn"].Index)
{
lblShowCellData.Text = dataGridViewMain.Rows[e.RowIndex].Cells["CustomerName"].Value.ToString();
// Do some thing else....
}
dtMain.Columns.Add("CustomerID");
dtMain.Columns.Add("CustomerName");
dtMain.Columns.Add("ImageColumn", typeof(Image));
string photopath = Application.StartupPath + @"\images\";
dtMain.Rows.Add("GH-456", "Kenny Margaret", Image.FromFile(photopath + "1.jpg"));
dtMain.Rows.Add("HQ-450", "Cinderella", Image.FromFile(photopath + "2.jpg"));
dtMain.Rows.Add("KN-840", "Jonathan Brandis", Image.FromFile(photopath + "3.jpg"));
dtMain.Rows.Add("JI-129", "Michael Hardy", Image.FromFile(photopath + "4.jpg"));
dtMain.Rows.Add("GE-639", "Joseph Stalin", Image.FromFile(photopath + "5.jpg"));
dataGridViewMain.DataSource = dtMain;
On event dataGridViewMain_CellContentClick
write following code
if (e.ColumnIndex == dataGridViewMain.Columns["ImageColumn"].Index)
{
lblShowCellData.Text = dataGridViewMain.Rows[e.RowIndex].Cells["CustomerName"].Value.ToString();
// Do some thing else....
}
Now click on Image column at right and you will see customer name getting displayed in label lblShowCellData
download full source code. Click download
REMOVE DUPLICATE ROW ENTRIES IN DATATABLE & DATAGRID VIEW
dtMain = new DataTable();
dtMain.Columns.Add("CustomerID");
dtMain.Columns.Add("CustomerName");
dtMain.Columns.Add("ImageColumn", typeof(Image));
string photopath = Application.StartupPath + @"\images\";
dtMain.Rows.Add("GH-456", "Kenny Margaret", Image.FromFile(photopath + "1.jpg"));
dtMain.Rows.Add("HQ-450", "Cinderella", Image.FromFile(photopath + "2.jpg"));
dtMain.Rows.Add("KN-840", "Jonathan Brandis", Image.FromFile(photopath + "3.jpg"));
dtMain.Rows.Add("JI-129", "Michael Hardy", Image.FromFile(photopath + "4.jpg"));
dtMain.Rows.Add("GE-639", "Joseph Stalin", Image.FromFile(photopath + "5.jpg"));
dtMain.Rows.Add("GH-456", "Kenny Margaret", Image.FromFile(photopath + "1.jpg"));
dtMain.Rows.Add("HQ-450", "Cinderella", Image.FromFile(photopath + "2.jpg"));
dtMain.Rows.Add("KN-840", "Jonathan Brandis", Image.FromFile(photopath + "3.jpg"));
dtMain.Rows.Add("JI-129", "Michael Hardy", Image.FromFile(photopath + "4.jpg"));
dtMain.Rows.Add("GE-639", "Joseph Stalin", Image.FromFile(photopath + "5.jpg"));
dataGridViewMain.DataSource = dtMain;
dtMain.Columns.Add("CustomerID");
dtMain.Columns.Add("CustomerName");
dtMain.Columns.Add("ImageColumn", typeof(Image));
string photopath = Application.StartupPath + @"\images\";
dtMain.Rows.Add("GH-456", "Kenny Margaret", Image.FromFile(photopath + "1.jpg"));
dtMain.Rows.Add("HQ-450", "Cinderella", Image.FromFile(photopath + "2.jpg"));
dtMain.Rows.Add("KN-840", "Jonathan Brandis", Image.FromFile(photopath + "3.jpg"));
dtMain.Rows.Add("JI-129", "Michael Hardy", Image.FromFile(photopath + "4.jpg"));
dtMain.Rows.Add("GE-639", "Joseph Stalin", Image.FromFile(photopath + "5.jpg"));
dtMain.Rows.Add("GH-456", "Kenny Margaret", Image.FromFile(photopath + "1.jpg"));
dtMain.Rows.Add("HQ-450", "Cinderella", Image.FromFile(photopath + "2.jpg"));
dtMain.Rows.Add("KN-840", "Jonathan Brandis", Image.FromFile(photopath + "3.jpg"));
dtMain.Rows.Add("JI-129", "Michael Hardy", Image.FromFile(photopath + "4.jpg"));
dtMain.Rows.Add("GE-639", "Joseph Stalin", Image.FromFile(photopath + "5.jpg"));
dataGridViewMain.DataSource = dtMain;
Now create a button and on its click event write following code :
dtNoDuplicated = dtMain.Copy();
dtNoDuplicated.DefaultView.Sort="CustomerID";
dtNoDuplicated=dtNoDuplicated.DefaultView.ToTable();
for (int icount = 0; icount < dtNoDuplicated.Rows.Count-1; icount++)
{
if (dtNoDuplicated.Rows[icount]["CustomerID"].ToString() == dtNoDuplicated.Rows[icount + 1]["CustomerID"].ToString())
{
dtNoDuplicated.Rows[icount + 1].Delete();
}
}
dtNoDuplicated.AcceptChanges();
dataGridViewMain.DataSource = dtNoDuplicated;
dtNoDuplicated.DefaultView.Sort="CustomerID";
dtNoDuplicated=dtNoDuplicated.DefaultView.ToTable();
for (int icount = 0; icount < dtNoDuplicated.Rows.Count-1; icount++)
{
if (dtNoDuplicated.Rows[icount]["CustomerID"].ToString() == dtNoDuplicated.Rows[icount + 1]["CustomerID"].ToString())
{
dtNoDuplicated.Rows[icount + 1].Delete();
}
}
dtNoDuplicated.AcceptChanges();
dataGridViewMain.DataSource = dtNoDuplicated;
download full source code. Click download
REMOVE EMPTY ROW ENTRIES FROM DATATABLE & DATAGRID VIEW
dtMain = new DataTable();
dtMain.Columns.Add("CustomerID");
dtMain.Columns.Add("CustomerName");
dtMain.Columns.Add("ImageColumn", typeof(Image));
string photopath = Application.StartupPath + @"\images\";
dtMain.Rows.Add("GH-456", "Kenny Margaret", Image.FromFile(photopath + "1.jpg"));
dtMain.Rows.Add("HQ-450", "Cinderella", Image.FromFile(photopath + "2.jpg"));
dtMain.Rows.Add("KN-840", "Jonathan Brandis", Image.FromFile(photopath + "3.jpg"));
dtMain.Rows.Add("", "Michael Hardy", Image.FromFile(photopath + "4.jpg"));
dtMain.Rows.Add("GE-639", "Joseph Stalin", Image.FromFile(photopath + "5.jpg"));
dtMain.Rows.Add("KB-256", "Kenny Margaret", Image.FromFile(photopath + "1.jpg"));
dtMain.Rows.Add("", "Cinderella", Image.FromFile(photopath + "2.jpg"));
dtMain.Rows.Add("", "Jonathan Brandis", Image.FromFile(photopath + "3.jpg"));
dtMain.Rows.Add("", "Michael Hardy", Image.FromFile(photopath + "4.jpg"));
dtMain.Rows.Add("IA-503", "Joseph Stalin", Image.FromFile(photopath + "5.jpg"));
dataGridViewMain.DataSource = dtMain;
dtMain.Columns.Add("CustomerID");
dtMain.Columns.Add("CustomerName");
dtMain.Columns.Add("ImageColumn", typeof(Image));
string photopath = Application.StartupPath + @"\images\";
dtMain.Rows.Add("GH-456", "Kenny Margaret", Image.FromFile(photopath + "1.jpg"));
dtMain.Rows.Add("HQ-450", "Cinderella", Image.FromFile(photopath + "2.jpg"));
dtMain.Rows.Add("KN-840", "Jonathan Brandis", Image.FromFile(photopath + "3.jpg"));
dtMain.Rows.Add("", "Michael Hardy", Image.FromFile(photopath + "4.jpg"));
dtMain.Rows.Add("GE-639", "Joseph Stalin", Image.FromFile(photopath + "5.jpg"));
dtMain.Rows.Add("KB-256", "Kenny Margaret", Image.FromFile(photopath + "1.jpg"));
dtMain.Rows.Add("", "Cinderella", Image.FromFile(photopath + "2.jpg"));
dtMain.Rows.Add("", "Jonathan Brandis", Image.FromFile(photopath + "3.jpg"));
dtMain.Rows.Add("", "Michael Hardy", Image.FromFile(photopath + "4.jpg"));
dtMain.Rows.Add("IA-503", "Joseph Stalin", Image.FromFile(photopath + "5.jpg"));
dataGridViewMain.DataSource = dtMain;
Now create a button and on its click event write following code :
dtNoDuplicated = dtMain.Copy();
dtNoDuplicated.DefaultView.RowFilter = "CustomerID <> ''";
dtNoDuplicated=dtNoDuplicated.DefaultView.ToTable();
dataGridViewMain.DataSource = dtNoDuplicated;
dtNoDuplicated.DefaultView.RowFilter = "CustomerID <> ''";
dtNoDuplicated=dtNoDuplicated.DefaultView.ToTable();
dataGridViewMain.DataSource = dtNoDuplicated;
Now click the button and empty rows with blank CustomerID would get deleted from datatable as well as datagrid view.
download full source code. Click download