You have a couple (or more) options:
1. Add a new row to the top of your DataTable, after dt.Load.
public void fillVehicle()
{
try
{
reader = obj.SelCommand("Select vehicle_No,vehicle_Name from tbl_Vehicle");
using (reader)
{
DataTable dt = new DataTable();
dt.Load(reader);
DataRow dr = dt.NewRow();
dr("vehicle_No") = 0;
dr("vehicle_Name") = "Select Vehicle";
dt.Rows.InsertAt(dr, 0);
drpVehicle.DataSource = dt;
drpVehicle.ValueMember = "vehicle_No";
drpVehicle.DisplayMember = "vehicle_Name";
}
drpVehicle.Items.Insert(0, "Select Vehicle");
}
catch (Exception ex)
{
lblMessageOrder.Text = "Error in vehicle fill:"+ex.Message;
}
}
2. Set drpVehicle.AppendDataBoundItems = true (
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listcontrol.appenddatabounditems.aspx[
^])
public void fillVehicle()
{
drpVehicle.AppendDataBoundItems = true;
drpVehicle.Items.Clear();
drpVehicle.Items.Add(0, "Select Vehicle");
try
{
reader = obj.SelCommand("Select vehicle_No,vehicle_Name from tbl_Vehicle");
using (reader)
{
DataTable dt = new DataTable();
dt.Load(reader);
drpVehicle.DataSource = dt;
drpVehicle.ValueMember = "vehicle_No";
drpVehicle.DisplayMember = "vehicle_Name";
}
}
catch (Exception ex)
{
lblMessageOrder.Text = "Error in vehicle fill:"+ex.Message;
}
}
Or something along those lines.