Sin ver el dataset que cargas en ese metodo no te puedo decir muchas mas, pero observa que en principio asignas un datasource (el dataset) pero no le asignas un datamember(la tabla dentro del dataset de la que recoger los datos) y luego, le asignas al value uvalor a, e inmediatamente le asignas un valor b.
Cita:
Iniciado por roger1187 DirectCast(row.FindControl("Ddl_Unidad"), DropDownList).DataValueField = "cod_unidad"
DirectCast(row.FindControl("Ddl_Unidad"), DropDownList).DataValueField = "des_unidad"
no encuentra el value correspondiente a "cod_unidad" porque una linea despues de código la has reemplazado con el valor de "des_unidad". Sin ver bien el código entero.... otra cosa.... estar cargando varias rows con un dropdown con la misma ID?? Si es asi claro que no te lo va a coger puesto que la id es única, debes añadirle una numeracion a ese id.
Perdona si no te puedo responder más preo es que no entiendo bien que es lo que quieres hacer...