Try like this..
<form id="form1" runat="server">
<asp:ListBox ID="ListBox1" runat="server">
<asp:ListItem Text="Ram" />
<asp:ListItem Text="Suresh" />
<asp:ListItem Text="Rajesh" />
</asp:ListBox>
<asp:ListBox ID="ListBox2" runat="server">
<asp:ListItem Text="AFF" />
<asp:ListItem Text="MFA" />
<asp:ListItem Text="EFA" />
</asp:ListBox>
<asp:GridView ID="gridView" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField HeaderText="Name" DataField="Name" />
<asp:BoundField HeaderText="Branch" DataField="Branch" />
<asp:TemplateField>
<ItemTemplate>
<asp:DropDownList ID="ddl" DataSource='<%# Bind("ddlsoruce") %>' runat="server">
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</form>
public partial class WebForm2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
List<Entity> lstSoruce = new List<Entity>();
if (ListBox1.Items.Count == ListBox2.Items.Count)
{
for (int i = 0; i < ListBox1.Items.Count; i++)
{
lstSoruce.Add(new Entity()
{
Name = ListBox1.Items[i].Text,
Branch = ListBox2.Items[i].Text,
ddlsoruce = ListBox1.Items.OfType<ListItem>().Select(k => k.Text).ToArray()
});
}
}
gridView.DataSource = lstSoruce;
gridView.DataBind();
}
}
class Entity
{
public string Name { get; set; }
public string Branch { get; set; }
public string[] ddlsoruce { get; set; }
}
}