Tengo un Gridview el cual tiene 10 columnas de las cuales 5 deben tener Gridview para poder actualizar ciertos datos, como este ejemplo, solo en el este solo tienen un dropdownlist y yo necesito 5 en el mismo gridview. En mi código solo llena el primer gridview y para pasar al segundo muestra el error: "Referencia a objeto no establecida como instancia de un objeto."
Y no los llena.
Aqui dejo una imagen de la salida final, como se ve, solo llena un dropdownlist
<asp:GridView ID="GridView3" runat="server" DataKeyNames="Id" ShowHeaderFilterButton="true" OnRowDataBound="GridView3_RowDataBound" OnRowEditing="GridView3_RowEditing" OnRowCancelingEdit="GridView3_RowCancelingEdit" OnRowUpdating="GridView3_RowUpdating">
<Columns>
<asp:BoundField Visible="false" DataField="Id" HeaderText="Id" SortExpression="Id" ItemStyle-HorizontalAlign="Center"></asp:BoundField>
<asp:BoundField DataField="Codigo" HeaderText="Codigo" SortExpression="Codigo" ReadOnly="True"></asp:BoundField>
<asp:TemplateField HeaderText="Pagare_Temp" SortExpression="Pagare_Temp">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server"></asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="LPagare_Temp" runat="server" Text='<%# Bind("Pagare_Temp")%>'>
</asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Vale_Temp" SortExpression="Vale_Temp">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList2" runat="server"></asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="LVale_Temp" runat="server" Text='<%# Bind("Vale_Temp") %>'>
</asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
...etc
<asp:CommandField ShowEditButton="True" EditText='<i class="far fa-edit"></i>' UpdateText="Guardar" HeaderText="Agregar" ShowHeader="True" CausesValidation="false">
<ItemStyle HorizontalAlign="Center" Font-Size="small" />
</asp:CommandField>
</Columns>
</asp:GridView>
protected void GridView3_RowDataBound(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e)
{
try
{
if (e.Row.RowType == DataControlRowType.DataRow && GridView3.EditIndex == e.Row.RowIndex)
{
//Pagare_Temp
DropDownList dropdown = (DropDownList)e.Row.FindControl("DropDownList1");
dropdown.Items.Clear();
dropdown.Items.Add("");
dropdown.Items.Add("SI");
dropdown.Items.Add("NO");
dropdown.Items.FindByValue((e.Row.FindControl("LPagare_Temp") as Label).Text).Selected = true;
//Vale_Temp
DropDownList dropdown1 = (DropDownList)e.Row.FindControl("DropDownList2");
dropdown1.Items.Clear();
dropdown1.Items.Add("");
dropdown1.Items.Add("SI");
dropdown1.Items.Add("NO");
dropdown1.Items.FindByValue((e.Row.FindControl("LVale_Temp") as Label).Text).Selected = true;
}
}
catch (Exception ex) { ex.ToString(); }
}