Slodge.XamarinWorkbookExtensions 1.0.1

This project provides some extensions to help you visualise your Workbook outputs.

There is a newer version of this package available.
See the version list below for details.
Install-Package Slodge.XamarinWorkbookExtensions -Version 1.0.1
dotnet add package Slodge.XamarinWorkbookExtensions --version 1.0.1
<PackageReference Include="Slodge.XamarinWorkbookExtensions" Version="1.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Slodge.XamarinWorkbookExtensions --version 1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Slodge Xamarin Workbooks Extensions

This project provides some extensions to help you visualise your outputs.

Everything here is MIT licensed - but I'm happy to adjust if an alternative would be helpful.

AsTable()

We've added two AsTable() extension method which render IEnumerable&lt;T&gt; and DataTable collections to HTML Tables.

Basic use IEnumerable&lt;T&gt;

class Thing
{
    public string Name {get;set;}
    public DateTime When {get;set;}
}

var list = new List<Thing>() {
    new Thing() { When = DateTime.UtcNow.Date.AddDays(-1), Name = "Yesterday" },
    new Thing() { When = DateTime.UtcNow.Date, Name = "Today" },
    new Thing() { When = DateTime.UtcNow.Date.AddDays(1), Name = "Tomorrow" }
}

list.AsTable()

Advanced options:

These options are available

  • maxColumns - default 10 - the maximum number of properties/fields to show
  • maxRows - default 10 - the maximum number of rows to show
  • includeProperties - default true - should public Properties be shown
  • includeFields - default false - should public Fields be shown
  • stringifier - default null - provide an IStringifier implementation for custom cell text
  • customTableClassName - default null - provide a css class name for the table. If null, then "slodgeTable" is used
  • customCss - default null - provide css style for the table. If null, then the following CSS is inserted
   .slodgeTable {{ border-collapse: collapse; }} 
   .slodgeTable th {{ border: 0px solid #ddd; padding-left: 4px; padding-right: 4px; text-align:left; }} 
   .slodgeTable td {{ border: 0px solid #ddd; padding-left: 4px; padding-right: 4px; text-align:left; }}

Basic use DataTable

using System.Data;

var table = new DataTable("A table");
table.Columns.Add(new DataColumn("Name", typeof(string)));
table.Columns.Add(new DataColumn("When", typeof(DateTime)) { AllowDBNull = true });

table.Rows.Add("Yesterday", DateTime.UtcNow.Date.AddDays(-1));
table.Rows.Add("Today", DateTime.UtcNow.Date);
table.Rows.Add("Tomorrow", DateTime.UtcNow.Date.AddDays(1));

table.AsTable()

Advanced options:

These options are available

  • maxColumns - default 10 - the maximum number of properties/fields to show
  • maxRows - default 10 - the maximum number of rows to show
  • stringifier - default null - provide an IStringifier implementation for custom cell text
  • customTableClassName - default null - provide a css class name for the table. If null, then "slodgeTable" is used
  • customCss - default null - provide css style for the table. If null, then the following CSS is inserted
   .slodgeTable {{ border-collapse: collapse; }} 
   .slodgeTable th {{ border: 0px solid #ddd; padding-left: 4px; padding-right: 4px; text-align:left; }} 
   .slodgeTable td {{ border: 0px solid #ddd; padding-left: 4px; padding-right: 4px; text-align:left; }}

Slodge Xamarin Workbooks Extensions

This project provides some extensions to help you visualise your outputs.

Everything here is MIT licensed - but I'm happy to adjust if an alternative would be helpful.

AsTable()

We've added two AsTable() extension method which render IEnumerable&lt;T&gt; and DataTable collections to HTML Tables.

Basic use IEnumerable&lt;T&gt;

class Thing
{
    public string Name {get;set;}
    public DateTime When {get;set;}
}

var list = new List<Thing>() {
    new Thing() { When = DateTime.UtcNow.Date.AddDays(-1), Name = "Yesterday" },
    new Thing() { When = DateTime.UtcNow.Date, Name = "Today" },
    new Thing() { When = DateTime.UtcNow.Date.AddDays(1), Name = "Tomorrow" }
}

list.AsTable()

Advanced options:

These options are available

  • maxColumns - default 10 - the maximum number of properties/fields to show
  • maxRows - default 10 - the maximum number of rows to show
  • includeProperties - default true - should public Properties be shown
  • includeFields - default false - should public Fields be shown
  • stringifier - default null - provide an IStringifier implementation for custom cell text
  • customTableClassName - default null - provide a css class name for the table. If null, then "slodgeTable" is used
  • customCss - default null - provide css style for the table. If null, then the following CSS is inserted
   .slodgeTable {{ border-collapse: collapse; }} 
   .slodgeTable th {{ border: 0px solid #ddd; padding-left: 4px; padding-right: 4px; text-align:left; }} 
   .slodgeTable td {{ border: 0px solid #ddd; padding-left: 4px; padding-right: 4px; text-align:left; }}

Basic use DataTable

using System.Data;

var table = new DataTable("A table");
table.Columns.Add(new DataColumn("Name", typeof(string)));
table.Columns.Add(new DataColumn("When", typeof(DateTime)) { AllowDBNull = true });

table.Rows.Add("Yesterday", DateTime.UtcNow.Date.AddDays(-1));
table.Rows.Add("Today", DateTime.UtcNow.Date);
table.Rows.Add("Tomorrow", DateTime.UtcNow.Date.AddDays(1));

table.AsTable()

Advanced options:

These options are available

  • maxColumns - default 10 - the maximum number of properties/fields to show
  • maxRows - default 10 - the maximum number of rows to show
  • stringifier - default null - provide an IStringifier implementation for custom cell text
  • customTableClassName - default null - provide a css class name for the table. If null, then "slodgeTable" is used
  • customCss - default null - provide css style for the table. If null, then the following CSS is inserted
   .slodgeTable {{ border-collapse: collapse; }} 
   .slodgeTable th {{ border: 0px solid #ddd; padding-left: 4px; padding-right: 4px; text-align:left; }} 
   .slodgeTable td {{ border: 0px solid #ddd; padding-left: 4px; padding-right: 4px; text-align:left; }}

  • .NETStandard 2.0

    • No dependencies.

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.0.6 138 11/28/2018
1.0.5 120 11/26/2018
1.0.4 135 11/25/2018
1.0.3 199 11/11/2018
1.0.2 105 11/10/2018
1.0.1 113 11/10/2018
1.0.0 130 11/10/2018
Show less