Que raro.. acabo de hacer unas pruebas con la BD Northwind y me funciona sin problemas..
Tengo ésto:
HTML
Cita: <asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:Label ID=lbl1 Text='<%# Container.DataItem("CompanyName") %>' Runat=server>
</asp:Label>
<asp:LinkButton ID="EditButton" Runat="server" CommandName="Edit">
Edit
</asp:LinkButton>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID=ddl1 Runat=server DataSource="<%# ListActividad() %>"
DataTextField="CompanyName" DataValueField="CustomerID">
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
Y en el codebehind
Cita: Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
If Not IsPostBack Then
DataGrid1.DataSource = ReturnDS()
DataGrid1.DataBind()
End If
End Sub
Private Function ReturnDS() As DataSet
Dim DS As New DataSet
Dim MyConnection As SqlConnection
Dim MyCommand As SqlDataAdapter
MyConnection = New SqlConnection("server=localhost;database=Northwind ;trusted_connection=true;connect timeout=2400")
MyCommand = New SqlDataAdapter("select top 10 * from Customers", MyConnection)
MyCommand.Fill(DS, "Estado")
Return DS
End Function
Function ListActividad() As DataSet
Dim DS As New DataSet
Dim MyConnection As SqlConnection
Dim MyCommand As SqlDataAdapter
MyConnection = New SqlConnection("server=localhost;database=Northwind ;trusted_connection=true;connect timeout=2400")
MyCommand = New SqlDataAdapter("select * from Customers", MyConnection)
MyCommand.Fill(DS, "Estado")
If MyConnection.State = ConnectionState.Open Then
Response.Write("abierta")
Else
Response.Write("cerrada")
End If
Return DS
End Function
Private Sub DataGrid1_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles DataGrid1.EditCommand
DataGrid1.EditItemIndex = e.Item.ItemIndex
DataGrid1.DataSource = ReturnDS()
DataGrid1.DataBind()
End Sub
Checalo bien, porque no le encuentro error alguno.
Salu2