【问题标题】:setting width of datagrid generated by Dynamic data (Entity framework, in .net)设置动态数据生成的数据网格的宽度(实体框架,在.net中)
【发布时间】:2010-10-10 12:29:39
【问题描述】:

我正在使用动态数据从表格中生成可编辑的数据网格,但是,我无法设置表格/网格的宽度。

有人可以指点我一篇文章/或建议我如何做到这一点吗?

提前致谢。

问候。 库鲁。

【问题讨论】:

    标签: .net entity-framework width dynamic-data


    【解决方案1】:

    样式应用于 DynamicData 使用 CSS 生成的页面。默认情况下,List.aspx 页面模板上的 GridView 具有 CssClass="gridview"。该类在默认的 Site.css 文件中定义了很多样式。包括这个:

    table.gridview { width: 100%; }
    

    您可以在此处更改宽度值,以便在使用此类的任何地方进行全局更改(可能不是您要查找的内容)。如果您只想更改一个实体/页面的宽度,您可能应该为该实体创建一个自定义页面。

    步骤

    1. 在 ~/DynamicData/CustomPages 目录中创建一个与实体的 EntitySet/Collection 同名的新文件夹(例如:~/DynamicData/CustomPages/Employees 用于 Employee 实体)
    2. 将 List.aspx 页面从 ~/DynamicData/PageTemplates 目录复制到您刚刚创建的新目录中。 (可能需要调整 CodeBehind/aspx 文件的命名空间)
    3. 使用自定义 CSS 类(或显式在 .aspx 文件中)更改页面上 GidView 的宽度。

    更多信息:http://www.asp.net/learn/3.5-SP1/video-445.aspx

    【讨论】:

      【解决方案2】:

      您可以使用动态数据控件名称的语法在 HTML 上添加 CSS,但这必须是用作控件 ID 的确切名称。

      例如,如果您的名为 grid1 的动态数据网格位于名为 panel1 的面板内,则 ID 将为:“panel1_grid1”。 CSS 将是:

      TABLE#panel1_grid1
      {
         width: 600px;
      }
      

      可以在此处找到 Javascript 中的示例解决方法:

      http://forums.asp.net/t/1270184.aspx

      【讨论】:

      • 我不建议明确引用控件的 ID。 ID 很容易更改,并且此方法会中断。
      • 这只是一个示例。您也可以使用类名。但同样,类名可能会造成混淆,也可能与其他 HTML 元素共享。
      猜你喜欢
      • 2011-11-08
      • 2012-11-27
      • 2014-04-19
      • 2013-10-18
      • 1970-01-01
      • 2016-07-06
      • 1970-01-01
      • 2023-03-09
      • 2015-10-20
      相关资源
      最近更新 更多