A ver, ya voy con la solucion
Supongamos que tu dataset se llama ds, en el se carga una tabla con 2 campos (nombre y valor). Añadimos un nuevo registro a la tabla con los campos en blanco (notar que en este caso los dos son de tipo string),
y despues obtenemos una vista de la tabla, llamada "datosDrop", la cual ordenamos por el campo "valor" (para que salga primero el campo en blanco)
Código:
Dim miRow as DataRow
miRow = ds.Tables(0).NewRow()
miRow("nombre") = ""
miRow("valor") = ""
ds.Tables(0).Rows.Add(miRow)
datosDrop = ds.Tables(0).DefaultView
datosDrop.Sort = "valor"
Después, realizamos el databind del dropDownList a la vista que hemos obtenido:
Código:
ddl_regMes.DataSource = datosDrop
ddl_regMes.DataTextField = "nombre"
ddl_regMes.DataValueField = "valor"
ddl_regMes.DataBind()
y ya está.
PD: para este caso, un dropdownlist que muestra los meses del año (campo nombre-> el nombre del mes, campo valor-> el numero de mes) yo los traigo de un fichero XML, por lo que una solucion mas simple es incluir el campo en blanco en el propio fichero XML:
Código:
<?xml version="1.0" encoding="iso-8859-1"?>
<meses>
<mes>
<nombre></nombre>
<valor></valor>
</mes>
<mes>
<nombre>Enero</nombre>
<valor>1</valor>
</mes>
<mes>
<nombre>Febrero</nombre>
<valor>2</valor>
</mes>
<mes>
<nombre>Marzo</nombre>
<valor>3</valor>
</mes>
<mes>
<nombre>Abril</nombre>
<valor>4</valor>
</mes>
<mes>
<nombre>Mayo</nombre>
<valor>5</valor>
</mes>
<mes>
<nombre>Junio</nombre>
<valor>6</valor>
</mes>
<mes>
<nombre>Julio</nombre>
<valor>7</valor>
</mes>
<mes>
<nombre>Agosto</nombre>
<valor>8</valor>
</mes>
<mes>
<nombre>Septiembre</nombre>
<valor>9</valor>
</mes>
<mes>
<nombre>Octubre</nombre>
<valor>10</valor>
</mes>
<mes>
<nombre>Noviembre</nombre>
<valor>11</valor>
</mes>
<mes>
<nombre>Diciembre</nombre>
<valor>12</valor>
</mes>
</meses>
Como sospecho que me vas a preguntar como traer los datos del archivo XML,
adelanto la respuesta:
Código:
Dim datosDrop as new DataView
Dim ds as new DataSet
Dim fs as FileStream
Dim XMLStream as StreamReader
fs = new FileStream(Server.MapPath("../xml/dias.xml"), FileMode.Open, FileAccess.Read)
XMLStream = new StreamReader(fs)
ds.ReadXML(XMLStream)
XMLStream.Close()
fs.close()
datosDrop = ds.Tables(0).DefaultView
' Rellenamos el dropDownList
ddl_regDia.DataSource = datosDrop
ddl_regDia.DataTextField = "nombre"
ddl_regDia.DataValueField = "valor"
ddl_regDia.DataBind()
datosDrop.Dispose()
ds.Dispose()
Teniendo en cuenta que debes importar los namespaces:
Código:
Imports System.Data
Imports System.IO
Espero que esto haya resuelto tus dudas
Salu2