如何解决在父GridView的RowEditing事件上更改下拉选择的值
我在updatepanel中有这个gridview:
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
AutoGenerateColumns="False" DataKeyNames="id" DataSourceID="" BackColor="White"
BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" ForeColor="Black"
GridLines="Horizontal" Height="100%" Width="100%" HorizontalAlign="Justify" CssClass="table-responsive-lg table-striped table-hover" CellPadding="5" Style="text-align: center" OnRowEditing="GridView1_RowEditing">
该行上的此编辑按钮:
<ItemTemplate>
<asp:LinkButton ID="btnSelect" runat="server" CausesValidation="False" CommandName="Edit"
ToolTip="Seleziona"><i class="far fa-hand-point-up fa-3x" aria-hidden="true"></i></asp:LinkButton>
</ItemTemplate>
在EditItemTemplate中的下拉菜单:
<asp:TemplateField HeaderText="Mittente" SortExpression="Mittente">
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%#: Bind("Mittente") %>' CssClass="content"></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<div style="text-align: left">
<div class="wrapper">
<asp:Button ID="btnPrendiMail" runat="server" Text="Prendi" OnClick="btnPrendiMail_Click" CssClass="btn btn-default" />
<asp:sqlDataSource ID="sqlClienti" runat="server"
ConnectionString="<%$ ConnectionStrings:dbVulcanoConnectionString %>"
SelectCommand="select idcliente,RagSociale,concat(ragsociale,' [',idcliente,']') as Descr from clienti order by RagSociale"></asp:sqlDataSource>
<asp:DropDownList ClientIDMode="Static" OnSelectedindexChanged="ddlClienti_SelectedindexChanged" ID="ddlClienti" runat="server" Font-Size="X-Large" Font-Bold="True" AutopostBack="true" DataSourceID="sqlClienti" DataTextField="Descr" DataValueField="idCliente" AppendDataBoundItems="true" CssClass="select2-single form-control-div" >
<asp:ListItem Text="-- Cerca Cliente per ID o Ragione Sociale --" Value="0" Selected="True"></asp:ListItem>
</asp:DropDownList>
</div>
<asp:Label ID="lblEmailMittente" ClientIDMode="Static" runat="server" Text='<%#: Bind("Mittente") %>' CssClass="content"
Visible="false"></asp:Label>
</div>
</EditItemTemplate>
<ItemStyle Width="10%" />
</asp:TemplateField>
按下“编辑”按钮时,我将更改下拉列表的选定值,并在gridview的RowEditing事件上执行此子例程:
Protected Sub GridView1_RowEditing(sender As Object,e As GridViewEditEventArgs)
Dim gvRow As GridViewRow = GridView1.Rows.Item(e.NewEditIndex())
Dim ddlClienti As DropDownList = TryCast(gvRow.FindControl("ddlClienti"),DropDownList)
Dim lblEmailMittente As Label = TryCast(gvRow.FindControl("lblEmailMittente"),Label)
If dbVulcano.emails.Any(Function(m) m.email = lblEmailMittente.Text) Then
Dim email As emails = dbVulcano.emails.Where(Function(m) m.email = lblEmailMittente.Text).SingleOrDefault
ddlClienti.SelectedValue = email.rfCliente
ddlClientiIndexChanged()
End If
End Sub
但是在调试它时,我看到ddlClienti = = nothing,因此例程失败。 什么是正确的方法?谢谢
解决方法
我在模板字段中使用计时器做了同样的事情
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。