I presume you have the below initial setup
DataTable dt = GetData(); // Implement the function to retrieve data.
comboBox1.Datasource = dt; //set the combobox data source
comboBox1.DisplayMember = ImageID; // Display column
comboBox1.ValueMember = ImageData; // Value member column
And here is a simulated version of
GetData()
public DataTable GetData()
{
DataTable dt = new DataTable();
//Add some columns
dt.Columns.Add(new DataColumn("ImageID", typeof(Int32)));
dt.Columns.Add(new DataColumn("ImageData", typeof(string)));
//Add some rows
//First Row
DataRow row1 = dt.NewRow();
row1("ImageID") = 1;
row1("ImageData") = "ImageData1";
//Second Row
DataRow row2 = dt.NewRow();
row2("ImageID") = 11;
row2("ImageData") = "ImageData11";
//Third Row
DataRow row3 = dt.NewRow();
row3("ImageID") = 12;
row3("ImageData") = "ImageData12";
//Fourth Row
DataRow row4 = dt.NewRow();
row4("ImageID") = 15;
row4("ImageData") = "ImageData15";
//Fifth Row
DataRow row5 = dt.NewRow();
row5("ImageID") = 18;
row5("ImageData") = "ImageData18";
//Sixth Row
DataRow row6 = dt.NewRow();
row6("ImageID") = 19;
row6("ImageData") = "ImageData19";
//Seventh Row
DataRow row7 = dt.NewRow();
row7("ImageID") = 21;
row7("ImageData") = "ImageData21";
//Add the rows to the table
dt.Rows.Add(row1);
dt.Rows.Add(row2);
dt.Rows.Add(row3);
dt.Rows.Add(row4);
dt.Rows.Add(row5);
dt.Rows.Add(row6);
dt.Rows.Add(row7);
//return the table
return dt;
}
Now you have a new requirement so that the ImageID should be in sequential order. Right? If so, here is an attempt.
Add a new column to the existing datatable as under
public DataTable GetModifiedTable(DataTable sourceDT)
{
DataTable destinationDT = sourceDT;
DataColumn newCol = new DataColumn("ModifiedImageID", typeof(Int32));
destinationDT.Columns.Add(newCol);
int counter = 1;
foreach (DataRow row in destinationDT.Rows)
{
row["ModifiedImageID"] = counter;
counter++;
}
return destinationDT;
}
And change the below
comboBox1.DisplayMember = ModifiedImageID;
So the final modified version should be
DataTable dt = GetModifiedTable(GetData()); // Implement the function to retrieve data.
comboBox1.Datasource = dt; //set the combobox data source
comboBox1.DisplayMember = ModifiedImageID; // Display column
comboBox1.ValueMember = ImageData; // Value member column
Hope this helps.
--
Thanks & Regards,
RNA Team
Anilkumar431, if this helps please login to Mark As Answer. | Alert Moderator