Что вам нужно сделать, это
Ваш Gridview:
<asp:GridView ID="grvExcelData" runat="server" AutoGenerateColumns="false"
onrowdatabound="GridView2_RowDataBound">
<HeaderStyle BackColor="#df5015" Font-Bold="true" ForeColor="White" />
<Columns>
<asp:TemplateField ItemStyle-Width = "150px" HeaderText = "UserId">
<ItemTemplate>
<asp:TextBox ID="txtUserId" runat="server"
CssClass="css2" Text='<%# Eval("UserId")%>'></asp:TextBox>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtUserId" runat="server"
CssClass="css2" Text='<%# Eval("UserId")%>'>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width = "150px" HeaderText = "Name">
<ItemTemplate>
<asp:TextBox ID="txtName" runat="server"
CssClass="css2" Text='<%# Eval("Name")%>'></asp:TextBox>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtName" runat="server"
CssClass="css2" Text='<%# Eval("Name")%>'>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Select">
<ItemTemplate>
<asp:DropDownList ID="drpDetails" Width="100px" runat="server">
</asp:DropDownList>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="drpDetails" Width="100px" runat="server">
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
и событие DataRowBound вашего кода должно быть:
protected void grvExcelData_RowDataBound(object sender, GridViewRowEventArgs e)
{
int id = 1;
string name = "abc";
string details = "abc,xyx,mno,qrst";
string[] arr = details.Split(',');
if (e.Row.RowType == DataControlRowType.DataRow)
{
TextBox UserName = (TextBox)e.Row.FindControl("txtUserId");
TextBox Name = (TextBox)e.Row.FindControl("txtName");
UserName.Text = id.ToString();
Name.Text = name;
DropDownList ddl = (DropDownList)e.Row.FindControl("drpDetails");
foreach (string colName in arr)
ddl.Items.Add(new ListItem(colName));
}
}