Skip to content

Commit afa7b59

Browse files
committed
Added fixedlayout/width options
1 parent 63dee01 commit afa7b59

File tree

8 files changed

+14
-5
lines changed

8 files changed

+14
-5
lines changed

Mvc.JQuery.Datatables.Example/Controllers/HomeController.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public class UserView
6767
[DataTables(DisplayName = "E-Mail", Searchable = true)]
6868
public string Email { get; set; }
6969

70-
[DataTables( Sortable = false)]
70+
[DataTables( Sortable = false, Width = "150px")]
7171
public bool IsAdmin { get; set; }
7272

7373
[DataTables(Visible = false)]

Mvc.JQuery.Datatables.Example/Views/Home/_ExampleTable.cshtml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<script type="text/javascript" src="/Content/jquery-datatables-column-filter/jquery-ui-timepicker-addon.js"></script>
1414
<link rel="stylesheet" href="/Content/jquery-datatables-column-filter/jquery-ui-timepicker-addon.css" />
1515

16-
<script type="text/javascript" src="/Content/jquery-datatables-column-filter/media/js/jquery.dataTables.columnFilter.js"></script>
16+
<link rel="stylesheet" href="/Content/jquery-datatables-column-filter/media/js/jquery.dataTables.columnFilter.css" />
1717
<script type="text/javascript" src="/Content/jquery-datatables-column-filter/media/js/jquery.dataTables.columnFilter.js"></script>
1818

1919
<link rel="stylesheet" href="//cdn.datatables.net/colvis/1.1.1/css/dataTables.colVis.css" />
@@ -41,6 +41,7 @@
4141
vm.LengthMenu.RemoveAll(t => t.Item2 == 5);
4242
vm.PageLength = 25; //... and set a default
4343
vm.ColVis = true;
44+
vm.FixedLayout = true;
4445
if (Request.QueryString["lang"] == "de")
4546
{
4647
//vm.Language = "{ 'sUrl': '" + Url.Content("~/Content/jquery.dataTables.lang.de-DE.txt") + "' }";

Mvc.JQuery.Datatables.Templates/Mvc.JQuery.Datatables.Templates.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@
8787
<ItemGroup>
8888
<Content Include="Content\jquery-datatables-column-filter\jquery-ui-timepicker-addon.css" />
8989
<Content Include="Content\jquery-datatables-column-filter\jquery-ui-timepicker-addon.js" />
90+
<Content Include="Content\jquery-datatables-column-filter\media\js\jquery.dataTables.columnFilter.css" />
9091
<Content Include="Content\jquery-datatables-column-filter\media\js\jquery.dataTables.columnFilter.js" />
9192
<Content Include="Content\jquery-datatables-column-filter\media\js\jquery.multiselect.js" />
9293
<Content Include="Views\Shared\DataTable.cshtml" />

Mvc.JQuery.Datatables.Templates/Views/Shared/DataTable.cshtml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44
@using Newtonsoft.Json
55
@using Newtonsoft.Json.Linq
66
@model DataTableConfigVm
7-
<table id="@Model.Id" class="display @(Model.TableClass ?? DataTableConfigVm.DefaultTableClass ?? "")" >
7+
<table id="@Model.Id" class="display @(Model.TableClass ?? DataTableConfigVm.DefaultTableClass ?? "")" @Html.Raw(Model.FixedLayout ? "style='table-layout:fixed'":"")>
88
<thead>
99
@if (Model.ColumnFilter)
1010
{
1111
<tr>
1212
@foreach (var column in Model.Columns)
1313
{
14-
<th>@column.DisplayName</th>
14+
<th @(Html.Raw(column.Width != null ? "style='width:" + column.Width + "'" : ""))>@column.DisplayName</th>
1515
}
1616
</tr>
1717
}

Mvc.JQuery.Datatables/DataTableConfigVm.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,8 @@ public string ColumnSortingString
108108
public string GlobalJsVariableName { get; private set; }
109109

110110
private bool _columnFilter;
111-
111+
112+
public bool FixedLayout { get; set; }
112113

113114
public class _FilterOn<TTarget>
114115
{

Mvc.JQuery.Datatables/DataTablesAttribute.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ public DataTablesAttribute()
2525
public string MRenderFunction { get; set; }
2626
public String CssClass { get; set; }
2727
public String CssClassHeader { get; set; }
28+
public string Width { get; set; }
2829

2930
public bool Visible { get; set; }
3031

@@ -40,6 +41,7 @@ public override void ApplyTo(ColDef colDef, System.Reflection.PropertyInfo pi)
4041
colDef.CssClass = this.CssClass;
4142
colDef.CssClassHeader = this.CssClassHeader;
4243
colDef.CustomAttributes = pi.GetCustomAttributes().ToArray();
44+
colDef.Width = this.Width;
4345
}
4446
}
4547
}

Mvc.JQuery.Datatables/Models/ColDef.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,6 @@ protected internal ColDef(string name, Type type)
3535

3636
public JObject SearchCols { get; set; }
3737
public Attribute[] CustomAttributes { get; set; }
38+
public string Width { get; set; }
3839
}
3940
}

Mvc.JQuery.Datatables/Mvc.JQuery.Datatables.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,9 @@
130130
<EmbeddedResource Include="..\Mvc.JQuery.Datatables.Templates\Content\jquery-datatables-column-filter\jquery-ui-timepicker-addon.js">
131131
<Link>Content\jquery-datatables-column-filter\jquery-ui-timepicker-addon.js</Link>
132132
</EmbeddedResource>
133+
<EmbeddedResource Include="..\Mvc.JQuery.Datatables.Templates\Content\jquery-datatables-column-filter\media\js\jquery.dataTables.columnFilter.css">
134+
<Link>Content\jquery-datatables-column-filter\media\js\jquery.dataTables.columnFilter.css</Link>
135+
</EmbeddedResource>
133136
<Content Include="RegisterDatatablesModelBinder.cs.pp" />
134137
<None Include="packages.config" />
135138
<None Include="Views\Web.config" />

0 commit comments

Comments
 (0)