如何定制和使contrib网格时尚

时间:2010-11-18 06:32:53

标签: asp.net-mvc-2 mvccontrib

到目前为止,我已经将这个编码用于视图formy mvc contrib grid ....这里当我绑定网格时它变得太大了,它的最后一列是在页面之外...请说如何减小大小并使 网格有些多么时尚......

<%= Html.Grid<Product>(Model)
           .Columns(column => 
          {

        column.For(c => c.ProductID);
        column.For(c => c.ProductName);
        column.For(c => c.SupplierID);
        column.For(c => c.CategoryID);
        column.For(c => c.QuantityPerUnit);
        column.For(c => c.UnitPrice);
        column.For(c => c.UnitsInStock);
        column.For(c => c.UnitsOnOrder);
        column.For(c => c.ReorderLevel);
        column.For(c => c.Discontinued);
        column.For(c => Html.ActionLink("Details", "Details", new { id = c.ProductID })).InsertAt(0).Encode(false);
        column.For(c => Html.ActionLink("Edit", "Edit", new { id = c.ProductID })).InsertAt(1).Encode(false);
        column.For(c => Html.ActionLink("Create", "Create", new { id = c.ProductID })).InsertAt(2).Encode(false);
        column.For(c => Html.ActionLink("Delete", "Delete", new { id = c.ProductID })).InsertAt(3).Encode(false);
          }
    )



%>

2 个答案:

答案 0 :(得分:1)

以下是我用交替的行和颜色来设置网格的方式。

<%Html.Grid<UserSummaryModelDetails>(Model.Users)
    .Columns(column =>
                {
                    column.For(x => x.FullName).Named("Name").Attributes(x => new Dictionary<string, object> { { "valign", "top" } });
                    column.For(x => x.Division).Attributes(x => new Dictionary<string, object> { { "valign", "top" } });
                })
                .RowStart((p,row)  => {     
                                        if (!row.IsAlternate) { %>
                                            <tr class="gridrow_alternate">
                                        <%  }  else  { %>
                                            <tr>
                                        <% }
                            })
        .HeaderRowAttributes(new Dictionary<string, object> { { "style", "height: 25px;" } })
        .Empty("No users found")
        .Attributes(@class => "table-list")
        .Render();
%>

样式表:

.table-list
{
    clear: both;
    width: 800px;
    height: 100%;
      border: solid 1px #e8eef4;
      border-collapse: collapse;
      overflow: visible;
      margin-top: 10px;
}

.table-list td 
{
  padding: 5px;   
  border: solid 1px #e8eef4;
  overflow: visible;
}

.table-list tr 
{
    height: 95px;
    overflow: visible;
}

.table-list th
{
  padding: 6px 5px;
  text-align: left;
  background-color: #e8eef4; 
  border: solid 1px #e8eef4;  
  overflow: visible;
}


.table-list .gridrow_alternate
{
    background-color: #eee;
}

答案 1 :(得分:0)

您可以为每列定义宽度或自定义CSS类。这样您就可以限制其大小:

column.For(c => c.ProductID)
      .Attributes(gr => new Hash(@width => "15%"));

或CSS类:

column.For(c => c.ProductID)
      .Attributes(gr => new Hash(@class => "productId"));

您也可以将整个网格放入固定宽度的div中。