yes this is possible.... you'll simply need to use template field columns... you can add other data binding controls in there, and yes you can populate those databinding parameters dynamically...
Have a look at the following (this binds to a membership, and then in the user name column it fetched the assigned roles (not actually of any use but illustrates what I mean)
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="UserName" DataSourceID="ObjectDataSource1">
<Columns>
<asp:TemplateField HeaderText="UserName" SortExpression="UserName">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("UserName") %>'></asp:Label>
<asp:ListBox ID="ListBox1" runat="server" DataSourceID="ObjectDataSource1" DataTextField="RoleName"
DataValueField="RoleName"></asp:ListBox><asp:ObjectDataSource ID="ObjectDataSource1"
runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetRoles"
TypeName="MembershipUtilities.RoleDataObject">
<SelectParameters>
<asp:ControlParameter ControlID="Label1" Name="userName" PropertyName="Text" Type="String" />
<asp:Parameter DefaultValue="true" Name="showOnlyAssignedRolls" Type="Boolean" />
</SelectParameters>
</asp:ObjectDataSource>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" DeleteMethod="Delete" InsertMethod="Insert" SelectMethod="GetMembers" TypeName="MembershipUtilities.MembershipUserODS" UpdateMethod="Update">
<SelectParameters>
<asp:Parameter Name="sortData" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
Hope this helps.
A question that sometimes drives me hazy: am I or are the others crazy? - Albert Einstein