【问题标题】:problem in gridview control of user control用户控件的gridview控件出现问题
【发布时间】:2011-02-24 12:57:08
【问题描述】:

我的问题是我正在从父页面设置数据源。但是如果我将禁用设置为 gridview 的某些列,则会触发那些禁用的列模板内的控件事件。就像我在一列中有一个复选框一样,如果在数据绑定时从父页面禁用该列,则会触发 check_checked 事件。 这是我的代码 - 用户控件 aspx

<asp:TemplateField HeaderText="Exclude Null" ItemStyle-Width="50px">
                    <HeaderTemplate>
                        Exclude Null
                    </HeaderTemplate>
                    <ItemTemplate>
                        <asp:CheckBox runat="server" ID="chkExNull" OnCheckedChanged="chkExNull_OnCheckedChanged"
                            AutoPostBack="true" />
                    </ItemTemplate>
                    <ItemStyle HorizontalAlign="left" VerticalAlign="Top" />
                    <HeaderStyle HorizontalAlign="left" VerticalAlign="Top" />
                </asp:TemplateField>

父级的.cs文件

GridView gvCondition = (GridView)ucCondition.FindControl("gvCondition");
    gvCondition.DataSource = ConditionFieldCollection;
    gvCondition.Columns[5].Visible = false;
    gvCondition.Columns[6].Visible = false;
    gvCondition.Columns[7].Visible = false;
    gvCondition.Columns[8].Visible = false;
    gvCondition.DataBind();

我该怎么办,有没有其他方法可以隐藏用户控件的grid view控件的一些列??

【问题讨论】:

  • 尝试在数据绑定后隐藏列,加上您显示的事件是检查更改事件,仅在单击时触发,因此列未正确隐藏的问题,或者还有其他事件触发吗?

标签: asp.net gridview user-controls hide


【解决方案1】:

在您的DataBind() 之前。写这个:

gvCondition.DataBound += new EventHandler(gvwCondition_DataBound);

并在该方法中编写隐藏列的代码。

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 2011-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多