代码之家  ›  专栏  ›  技术社区  ›  jamiecon

使用数据设置GridView的属性

  •  0
  • jamiecon  · 技术社区  · 17 年前

    我需要将GridView中BoundField的“ReadOnly”属性设置为记录集中由同一GridView显示的位字段的值。

    干杯

    杰米

    3 回复  |  直到 17 年前
        1
  •  1
  •   bendewey    17 年前

    是的,你能做到。创建TemplatedField,并在binding语句中使用

    <%# ((Employee)Container.DataItem).IsApproved ? "yes" : "no" %>
    

    或者您可以使用代码隐藏中的方法

    <%# FormatBool(((Employee)Container.DataItem).IsApproved) %>
    

    其中FormatBool是代码隐藏中的一个属性

    protected string FormatBool(bool value)
    {
       if (value)
          return "yes";
       return "no";
    }
    
        2
  •  0
  •   Steve Wright    17 年前

        3
  •  0
  •   jamiecon    17 年前

    我无法找到一种基于DetailView的数据以声明方式操作BoundField或TemplateField属性的方法。

    我在代码隐藏中的解决方案如下:

        protected void DetailsView1_DataBound(object sender, EventArgs e)
        {
            DetailsView dv = (DetailsView)sender;
    
            if (dv.DataItemCount > 0)
            {
                DataRowView data = (DataRowView)dv.DataItem;
                bool isFixed = (bool)data["IsFixed"];
    
                if (isFixed)
                {
                    dv.Rows[2].Enabled = false;
                    dv.Rows[6].Enabled = false;
                }
            }
        }
    

    谢谢你的帮助!