Как настроить и сделать стильную сетку - PullRequest
0 голосов
/ 18 ноября 2010

До сих пор я использовал эту кодировку для просмотра formy mvc contrib grid .... здесь, когда я связываю 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 ]

1 голос
/ 18 ноября 2010

Вот как я оформляю свои сетки чередующимися строками и цветами.

<%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;
}
0 голосов
/ 18 ноября 2010

Вы можете определить ширину или пользовательский класс 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 с фиксированной шириной.

...