Slodge.XamarinWorkbookExtensions
1.0.0
See the version list below for details.
dotnet add package Slodge.XamarinWorkbookExtensions --version 1.0.0
NuGet\Install-Package Slodge.XamarinWorkbookExtensions -Version 1.0.0
<PackageReference Include="Slodge.XamarinWorkbookExtensions" Version="1.0.0" />
paket add Slodge.XamarinWorkbookExtensions --version 1.0.0
#r "nuget: Slodge.XamarinWorkbookExtensions, 1.0.0"
// Install Slodge.XamarinWorkbookExtensions as a Cake Addin #addin nuget:?package=Slodge.XamarinWorkbookExtensions&version=1.0.0 // Install Slodge.XamarinWorkbookExtensions as a Cake Tool #tool nuget:?package=Slodge.XamarinWorkbookExtensions&version=1.0.0
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<T>
and DataTable
collections to HTML Tables.
Basic use IEnumerable<T>
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
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
- shouldpublic
Properties be shown - includeFields - default
false
- shouldpublic
Fields be shown - stringifier - default
null
- provide anIStringifier
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
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 anIStringifier
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, ...
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.