如何在编辑模式下呈现(可见)eedittemtemplate无界复选框之前修改它们

本文关键字:复选框 eedittemtemplate 修改 可见 编辑 模式 | 更新日期: 2023-09-27 18:15:07

我有一个独特的情况。我已经添加了几个复选框到网格视图,他们从数据库填充。它们在itemtemplate模式下看起来非常好。当我单击Edit按钮并呈现它们时,它们会丢失所有设置并显示为未选中的框。如何在编辑模式下显示edititemtemplate复选框之前填充它们?以下是aspx页面中的代码片段:

            <asp:TemplateField HeaderText="Referral">
                <ItemTemplate>
                    <asp:CheckBox ID="CheckBox7" runat="server" />
                </ItemTemplate>
                <EditItemTemplate>
                    <asp:CheckBox ID="CheckBox10" runat="server" />
                </EditItemTemplate>
            </asp:TemplateField>

,下面是填充这些itemtemplate复选框的复选框的代码:

     protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)

{

  //load the referral column from the form3 data column to display the results
TextBox txtReferral = (TextBox)e.Row.FindControl("TextBox82");  //form1
if (txtReferral != null)
{
 CheckBox ckbxReferral = (CheckBox)e.Row.FindControl("CheckBox7");
 ckbxReferral.Enabled = false;
       if (txtReferral.Text.Length > 0)
         {
           int intReferral = Convert.ToInt32(txtReferral.Text.ToString());
             if (intReferral > 0)
             {                      
                if (!ckbxReferral.Checked)
                 {
                     ckbxReferral.Checked = true;
                 }
                intReferral = 0;
                }
            }
        }
    }

我已经尝试设置editemtemplate复选框,但没有运气,因为它们目前是空对象。我是一个新手。net编程,所以任何帮助将非常感激。我的最终目标是使用复选框的结果来填充来自这些结果的另外两个子表。

如何在编辑模式下呈现(可见)eedittemtemplate无界复选框之前修改它们

您需要在itemtemplate和edititemtemplate中保持复选框控件的id相同:

     <asp:TemplateField HeaderText="Referral">
        <ItemTemplate>
            <asp:CheckBox ID="CheckBox7" runat="server" />
        </ItemTemplate>
        <EditItemTemplate>
            <asp:CheckBox ID="CheckBox7" runat="server" />
        </EditItemTemplate>
     </asp:TemplateField>