Slodge.XamarinWorkbookExtensions 1.0.0

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.0
dotnet add package Slodge.XamarinWorkbookExtensions --version 1.0.0
<PackageReference Include="Slodge.XamarinWorkbookExtensions" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Slodge.XamarinWorkbookExtensions --version 1.0.0
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()

To run this yourself, see IEnumerable Table Workbook

TableIntro

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()

To run this yourself, see DataTable Table Workbook

TableIntro

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; }}

Nuget Package

This extension is available in Nuget in TODO - coming real soon..

Building and Problems...

I've had some problems using the prerelease .NetStandard 2.0 Xamarin Workbooks Integrations package.

If you want to build this yourself, you may need to do some hacking to get the project to build...

If you can figure out what's happening with .Net Standard 2.0 or with the prerelease package from Xamarin, then Pull Requests are accepted :)

Roadmap

I hope this project only has a short life... I'm hopeful we can get these extensions (or better!) pushed into "core" Xamarin Workbooks instead.

There are many possible additional extensions - including ideas for Dictionaries, for more presentation options, for incremental enumerations, ...

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()

To run this yourself, see IEnumerable Table Workbook

TableIntro

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()

To run this yourself, see DataTable Table Workbook

TableIntro

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; }}

Nuget Package

This extension is available in Nuget in TODO - coming real soon..

Building and Problems...

I've had some problems using the prerelease .NetStandard 2.0 Xamarin Workbooks Integrations package.

If you want to build this yourself, you may need to do some hacking to get the project to build...

If you can figure out what's happening with .Net Standard 2.0 or with the prerelease package from Xamarin, then Pull Requests are accepted :)

Roadmap

I hope this project only has a short life... I'm hopeful we can get these extensions (or better!) pushed into "core" Xamarin Workbooks instead.

There are many possible additional extensions - including ideas for Dictionaries, for more presentation options, for incremental enumerations, ...

  • .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