代码之家  ›  专栏  ›  技术社区  ›  Afshar Mohebi

GridView行中的可选编辑?

  •  0
  • Afshar Mohebi  · 技术社区  · 14 年前

    假设我在页面上有一个网格视图。GridView已启用编辑列并显示一些记录。如何根据其他数据字段启用/禁用行内编辑?

    1 回复  |  直到 14 年前
        1
  •  2
  •   Jamie    14 年前

    你可以用很多方法来做。其中两个是:

    然后在OnRowDataBound事件上,可以执行以下操作:

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow && e.Row.RowState == DataControlRowState.Normal)
        {
            var LinkButton1 = (LinkButton)e.Row.FindControl("LinkButton1");
            LinkButton1.Enabled = GridView1.DataKeys[e.Row.RowIndex].Value == "SomeValue"; //Or some other logic, like converting to a boolean
        }
    }
    

    或者,

    在aspx页面的Html标记中,编辑linkbutton enabled属性以绑定所需字段。例如:

    <asp:LinkButton ID="LinkButton1" runat="server" Text="Edit" Enabled='<%# Convert.ToBoolean(Eval("SomeField")%>'></asp:LinkButton>
    

    希望能有所帮助。