I tried to generate one table using C# function. That table contains four columns. SerialNo (Value coming from API and it is label), Disposition result (dropdown-options coming from API) and two more text area.
While debuging, Getting Null exception error in Disposition result. in below line
string disposResult = ((HtmlSelect)row.Cells[1].FindControl("DropDownList1")).Value;
Below is the complete code
GRIDVIEW:
<asp:GridView ID="MyGridView" runat="server" AutoGenerateColumns="false">
    <Columns>
        <asp:BoundField DataField="SerialNo" HeaderText="Serial No" />
        <asp:TemplateField HeaderText="Disposition result">                
            <ItemTemplate>                          
                <%# Eval("Disposition result") %>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Disposition comment">
            <ItemTemplate>
                <textarea runat="server" ID="txtDispositionComment" Rows="5" CssClass="form-control" />
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Note for Group">
            <ItemTemplate>
                <textarea runat="server" ID="txtNoteForGroup" Rows="5" CssClass="form-control" />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>
Generating DataTable Source for gridview:
protected async void serialNoFieldData()
{
    string NMRValue = Request.QueryString["NMRValue"];
    string apiUrl = "https://itapps/nmrapi_V2/api/nmr?NMR_Number=" + NMRValue;
    using (HttpClient client = new HttpClient())
    {
        string apiResponse = await client.GetStringAsync(apiUrl);
        JObject responseData = JObject.Parse(apiResponse);
        JArray data = JArray.Parse(responseData["data"].ToString());
        DataTable dt = new DataTable();
        dt.Columns.Add("SerialNo");
        dt.Columns.Add("Disposition result");
        dt.Columns.Add("Disposition comment");
        dt.Columns.Add("Note for Group");
        // Get the dropdown values for the Disposition result column
        string dropdownApiUrl = "https://itapps/nmrapi_V2/api/DBParameter/NMR_Form?PN=DisposRes";
        string dropdownApiResponse = await client.GetStringAsync(dropdownApiUrl);
        JObject dropdownData = JObject.Parse(dropdownApiResponse);
        List<string> dropdownValues = new List<string>();
        if ((bool)dropdownData["success"])
        {
            JArray dataArray = (JArray)dropdownData["data"];
            foreach (string item in dataArray)
            {
                dropdownValues.Add(item);
            }
        }
        foreach (JObject item in data)
        {
            string serialNumber = (string)item["SerialNo"];
            // Populate the form fields with the retrieved values
            // Add a new row to the DataTable
            DataRow dr = dt.NewRow();
            dr["SerialNo"] = serialNumber;
            string dropdownHtml = CreateDropDownList(dropdownValues);
            dr["Disposition result"] = dropdownHtml;
            dr["Disposition comment"] = CreateTextArea();
            dr["Note for Group"] = CreateTextArea();
            dt.Rows.Add(dr);
        }
        // Bind the DataTable to a GridView control
        MyGridView.DataSource = dt;
        MyGridView.DataBind();
    }
}
Code for dropdown for Disposition result field:
private string CreateDropDownList(List<string> values)
{
    StringBuilder sb = new StringBuilder();
    sb.Append("<select id='DropDownList1' class='form-control' style='width: 200px;'>");
    foreach (string value in values)
    {
        sb.Append("<option value='" + value + "'>" + value + "</option>");
    }
    sb.Append("</select>");
    return sb.ToString();
}
My Expectation is : I want to get the value which i selected in dropdown. 
 
     
    