Hola yo estoy llenando un DataGrid con lo siguiente:
en el .aspx
Código HTML:
<asp:TemplateColumn SortExpression="Empresa" HeaderText="Empresa">
<ItemTemplate>
<asp:Label id=Label10 runat="server" text='<%# DataBinder.Eval(Container, "DataItem.Empresa") %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList id=ddlEmpresa runat="server" Width="169px" DataTextField="Empresa" DataValueField="idEmpresa" DataSource='<%# GetDatosEmp(DataBinder.Eval(Container.DataItem, "idEmpresa")) %>'>
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateColumn>
y en el .aspx.vb (codebehind) hago el GetDatosEmp que llamo desde el .aspx
Protected Function GetDatosEmp(ByVal idEmpresa As Object) As DataTable
Dim strSqlEstado As String = "SELECT E.idEmpresa, E.empresa FROM Empresa E where E.idEntidad=@idEntidad"
Dim da As SqlDataAdapter = New SqlDataAdapter(strSqlEstado, SqlCon.StringConnection)
da.SelectCommand.Parameters.Add(New SqlParameter("@idEntidad", SqlDbType.Int))
da.SelectCommand.Parameters("@idEntidad").Value = oSession.idEntidad
Dim ds As DataSet = New DataSet
da.Fill(ds, "Empresa")
Dim dr As DataRow = ds.Tables("Empresa").NewRow
Return ds.Tables("Empresa")
End Function
espero haberte sido útil
antares_dark