Sucede que tengo dentro de un datagrid un dropdownlist, hago una funcion q me devuelve un dataset y la misma la pongo en datasource del dropdownlist y sucede que nada

Por favor, ayudenme, aqui les va la funcion y el html.
Function ListActividad() As DataSet
Dim myConnection As New SqlConnection(ConfigurationSettings.AppSettings("c onnection"))
Dim ddldataset As New DataSet
Dim myDataAdapter As SqlDataAdapter = New SqlDataAdapter("sp_MttoShow", myConnection)
myDataAdapter.SelectCommand.CommandType = CommandType.StoredProcedure
myDataAdapter.Fill(ddldataset, "Id_Mtto")
myConnection.Close()
Return ddldataset
End Function
<asp:TemplateColumn SortExpression="Actividad" HeaderText="Actividad">
<ItemStyle Width="200px"></ItemStyle>
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "Siglas")%>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList id=cbAct Width="100" AutoPostBack="True" DataSource="<%# ListActividad()%>" DataTextField="Siglas" DataValueField="Id_Mtto" Runat="server">
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>