Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/06/2005, 08:22
Shakaio
 
Fecha de Ingreso: mayo-2005
Mensajes: 64
Antigüedad: 19 años
Puntos: 1
Hola, lo que tienes que hacer es pasarle el index que tiene en ese momento el ddl asi,
esto lo pones en el editor html en el edititemtemplate de tu ddl,

<EditItemTemplate>
<asp:DropDownList id=Ddlbuque runat="server" Font-Names="Book Antiqua" Font-Size="9pt" Width="116px" SelectedIndex='<%# obtener(Container.DataItem("nombre4"),"buque")%>' DataValueField="Cod_buque" DataTextField="Nombre" DataSource="<%# DropDownDataView1 %>">
</asp:DropDownList>
</EditItemTemplate>

cuando das click en editar salta la propiedad "SelectedIndex" del ddl y llama a la funcion obtener que es la que contiene los datos del ddl en un dataview en Vb y lo que haces es pasarle el valor del elemento que esta seleccionado, seguido yo le paso un valor (por que tengo varios ddl en el data grid), asi que puedes obiar ese parametro si es que tienes un solo ddl en tu dgr.

La funcion obtener que va en Vb net sería.

Public Function obtener(ByVal nombre As String, ByVal tipo As String) As Integer
On Error GoTo handler
Select Case tipo
Case "buque"
For i As Integer = 0 To DropDownDataView1.Table.Rows.Count - 1
If DropDownDataView1.Item(i).Row(1) = nombre Then
Return i
End If
Next
end select
end function

aqui lo que hace es comparar todo lo que tiene el ddl con lo que le enviaste cuando diste click, cuando es igual devuelve el index de ese valor a la propiedad SeletedIndex, entonces el ddl queda con el valor que tenía.

espero lo entiendas!