HtmlForgeX

API Reference

Class

EmailKeyValueRow

Namespace HtmlForgeX.Email
Assembly HtmlForgeX.Email
Modifiers sealed

Row definition for EmailKeyValueTable.

Inheritance

  • Object
  • EmailKeyValueRow

Constructors

Methods

public EmailKeyValueRow WithBool(Boolean value, String trueText = "Yes", String falseText = "No", EmailStatusTone trueTone = Success, EmailStatusTone falseTone = Danger) #
Returns: EmailKeyValueRow

Renders the value as a compact status (dot + label) without raw HTML.

Parameters

value System.Boolean requiredposition: 0
trueText System.String = "Yes" optionalposition: 1
falseText System.String = "No" optionalposition: 2
trueTone HtmlForgeX.Email.EmailStatusTone = Success optionalposition: 3
falseTone HtmlForgeX.Email.EmailStatusTone = Danger optionalposition: 4
WithBytes 2 overloads
public EmailKeyValueRow WithBytes(Nullable<Int64> bytes, Int32 decimals = 2, EmailBytesUnitSystem unitSystem = Binary, CultureInfo culture = null) #
Returns: EmailKeyValueRow

Formats a byte-size value into a compact representation (e.g., "2.47 MB").

Parameters

bytes System.Int64 requiredposition: 0
decimals System.Int32 = 2 optionalposition: 1
unitSystem HtmlForgeX.Email.EmailBytesUnitSystem = Binary optionalposition: 2
culture System.Globalization.CultureInfo = null optionalposition: 3
WithBytes(System.Nullable{System.Int64} bytes, System.Int32 decimals, HtmlForgeX.Email.EmailBytesUnitSystem unitSystem, System.Globalization.CultureInfo culture) #

Formats a byte-size value into a compact representation (e.g., "2.47 MB").

Parameters

bytes System.Nullable{System.Int64} required
decimals System.Int32 required
unitSystem HtmlForgeX.Email.EmailBytesUnitSystem required
culture System.Globalization.CultureInfo required
WithCompactNumber 2 overloads
public EmailKeyValueRow WithCompactNumber(Nullable<Int64> value, Int32 decimals = 1, EmailCompactNumberCase suffixCase = Lower, CultureInfo culture = null) #
Returns: EmailKeyValueRow

Formats a compact number (e.g., "1.2k", "3.4M").

Parameters

value System.Int64 requiredposition: 0
decimals System.Int32 = 1 optionalposition: 1
suffixCase HtmlForgeX.Email.EmailCompactNumberCase = Lower optionalposition: 2
culture System.Globalization.CultureInfo = null optionalposition: 3
WithCompactNumber(System.Nullable{System.Int64} value, System.Int32 decimals, HtmlForgeX.Email.EmailCompactNumberCase suffixCase, System.Globalization.CultureInfo culture) #

Formats a compact number (nullable). When the value is null, clears the cell.

Parameters

value System.Nullable{System.Int64} required
decimals System.Int32 required
suffixCase HtmlForgeX.Email.EmailCompactNumberCase required
culture System.Globalization.CultureInfo required
WithDate 4 overloads
public EmailKeyValueRow WithDate(Nullable<DateTimeOffset> value, String format = "MMM d, yyyy", CultureInfo culture = null) #
Returns: EmailKeyValueRow

Formats a date using an email-friendly default.

Parameters

value System.DateTime requiredposition: 0
format System.String = "MMM d, yyyy" optionalposition: 1
culture System.Globalization.CultureInfo = null optionalposition: 2
WithDate(System.Nullable{System.DateTime} value, System.String format, System.Globalization.CultureInfo culture) #

Formats a date using an email-friendly default (nullable). When the value is null, clears the cell.

Parameters

value System.Nullable{System.DateTime} required
format System.String required
culture System.Globalization.CultureInfo required
WithDate(System.DateTimeOffset value, System.String format, System.Globalization.CultureInfo culture) #

Formats a date using an email-friendly default.

Parameters

value System.DateTimeOffset required
format System.String required
culture System.Globalization.CultureInfo required
WithDate(System.Nullable{System.DateTimeOffset} value, System.String format, System.Globalization.CultureInfo culture) #

Formats a date using an email-friendly default (nullable). When the value is null, clears the cell.

Parameters

value System.Nullable{System.DateTimeOffset} required
format System.String required
culture System.Globalization.CultureInfo required
WithDateTime 4 overloads
public EmailKeyValueRow WithDateTime(Nullable<DateTimeOffset> value, String format = "MMM d, yyyy · h:mm tt", CultureInfo culture = null) #
Returns: EmailKeyValueRow

Formats a date+time using an email-friendly default.

Parameters

value System.DateTime requiredposition: 0
format System.String = "MMM d, yyyy · h:mm tt" optionalposition: 1
culture System.Globalization.CultureInfo = null optionalposition: 2
WithDateTime(System.Nullable{System.DateTime} value, System.String format, System.Globalization.CultureInfo culture) #

Formats a date+time using an email-friendly default (nullable). When the value is null, clears the cell.

Parameters

value System.Nullable{System.DateTime} required
format System.String required
culture System.Globalization.CultureInfo required
WithDateTime(System.DateTimeOffset value, System.String format, System.Globalization.CultureInfo culture) #

Formats a date+time using an email-friendly default.

Parameters

value System.DateTimeOffset required
format System.String required
culture System.Globalization.CultureInfo required
WithDateTime(System.Nullable{System.DateTimeOffset} value, System.String format, System.Globalization.CultureInfo culture) #

Formats a date+time using an email-friendly default (nullable). When the value is null, clears the cell.

Parameters

value System.Nullable{System.DateTimeOffset} required
format System.String required
culture System.Globalization.CultureInfo required
WithDuration 2 overloads
public EmailKeyValueRow WithDuration(Nullable<TimeSpan> duration, Int32 maxParts = 2) #
Returns: EmailKeyValueRow

Formats a duration into a compact representation (e.g., "1h 30m").

Parameters

duration System.TimeSpan requiredposition: 0
maxParts System.Int32 = 2 optionalposition: 1
WithDuration(System.Nullable{System.TimeSpan} duration, System.Int32 maxParts) #

Formats a duration into a compact representation (nullable). When the value is null, clears the cell.

Parameters

duration System.Nullable{System.TimeSpan} required
maxParts System.Int32 required
public EmailKeyValueRow WithEmailAddress(String email, String text = null) #
Returns: EmailKeyValueRow

Sets value as a mailto link (no raw HTML required).

Parameters

email System.String requiredposition: 0
text System.String = null optionalposition: 1
public EmailKeyValueRow WithEnum<TEnum>(Nullable<TEnum> value, Boolean humanize = true) #
Returns: EmailKeyValueRow

Type Parameters

TEnum

Parameters

value TEnum requiredposition: 0
humanize Boolean = true optionalposition: 1
WithEnum``1 2 overloads
WithEnum``1(``0 value, System.Boolean humanize) #

Renders an enum value (optionally humanized) without manual formatting.

Parameters

value ``0 required
humanize System.Boolean required
WithEnum``1(System.Nullable{``0} value, System.Boolean humanize) #

Renders an enum value (nullable). When the value is null, clears the cell.

Parameters

value System.Nullable{``0} required
humanize System.Boolean required
public EmailKeyValueRow WithHash(String hash, Boolean breakAll = true) #
Returns: EmailKeyValueRow

Renders a hash/checksum in monospace (useful for SHA256/MD5 checksums).

Parameters

hash System.String requiredposition: 0
breakAll System.Boolean = true optionalposition: 1
public EmailKeyValueRow WithHashCompact(String hash, Int32 head = 12, Int32 tail = 8, String ellipsis = "…") #
Returns: EmailKeyValueRow

Renders a hash/checksum in monospace and truncates the middle for readability.

Parameters

hash System.String requiredposition: 0
head System.Int32 = 12 optionalposition: 1
tail System.Int32 = 8 optionalposition: 2
ellipsis System.String = "…" optionalposition: 3
public EmailKeyValueRow WithId(String id, Boolean breakAll = true) #
Returns: EmailKeyValueRow

Renders an ID-like value in monospace (order IDs, request IDs, etc.).

Parameters

id System.String requiredposition: 0
breakAll System.Boolean = true optionalposition: 1
public EmailKeyValueRow WithIdCompact(String id, Int32 head = 10, Int32 tail = 6, String ellipsis = "…") #
Returns: EmailKeyValueRow

Renders an ID-like value in monospace and truncates the middle for readability.

Parameters

id System.String requiredposition: 0
head System.Int32 = 10 optionalposition: 1
tail System.Int32 = 6 optionalposition: 2
ellipsis System.String = "…" optionalposition: 3
public EmailKeyValueRow WithIpAddress(String ipAddress) #
Returns: EmailKeyValueRow

Renders an IP address in monospace (typically no aggressive wrapping).

Parameters

ipAddress System.String requiredposition: 0
public EmailKeyValueRow WithKey(String key) #
Returns: EmailKeyValueRow

Sets key.

Parameters

key System.String requiredposition: 0
WithMoney 2 overloads
public EmailKeyValueRow WithMoney(Nullable<Decimal> amount, String currencySymbol = "$", Int32 decimals = 2, CultureInfo culture = null) #
Returns: EmailKeyValueRow

Formats a currency value (e.g., "$1,234.50").

Parameters

amount System.Decimal requiredposition: 0
currencySymbol System.String = "$" optionalposition: 1
decimals System.Int32 = 2 optionalposition: 2
culture System.Globalization.CultureInfo = null optionalposition: 3
WithMoney(System.Nullable{System.Decimal} amount, System.String currencySymbol, System.Int32 decimals, System.Globalization.CultureInfo culture) #

Formats a currency value (nullable). When the value is null, clears the cell.

Parameters

amount System.Nullable{System.Decimal} required
currencySymbol System.String required
decimals System.Int32 required
culture System.Globalization.CultureInfo required
public EmailKeyValueRow WithMonospace(Boolean breakAll = true) #
Returns: EmailKeyValueRow

Renders value as monospace.

Parameters

breakAll System.Boolean = true optionalposition: 0
WithNumber 2 overloads
public EmailKeyValueRow WithNumber(Nullable<Decimal> value, Int32 decimals = 0, CultureInfo culture = null) #
Returns: EmailKeyValueRow

Formats a number (e.g., "1,234.5").

Parameters

value System.Decimal requiredposition: 0
decimals System.Int32 = 0 optionalposition: 1
culture System.Globalization.CultureInfo = null optionalposition: 2
WithNumber(System.Nullable{System.Decimal} value, System.Int32 decimals, System.Globalization.CultureInfo culture) #

Formats a number (nullable). When the value is null, clears the cell.

Parameters

value System.Nullable{System.Decimal} required
decimals System.Int32 required
culture System.Globalization.CultureInfo required
WithPercent 2 overloads
public EmailKeyValueRow WithPercent(Nullable<Decimal> percent, Int32 decimals = 0, CultureInfo culture = null) #
Returns: EmailKeyValueRow

Formats a percent (expects percent units, e.g. 12.3 => "12.3%").

Parameters

percent System.Decimal requiredposition: 0
decimals System.Int32 = 0 optionalposition: 1
culture System.Globalization.CultureInfo = null optionalposition: 2
WithPercent(System.Nullable{System.Decimal} percent, System.Int32 decimals, System.Globalization.CultureInfo culture) #

Formats a percent (nullable). When the value is null, clears the cell.

Parameters

percent System.Nullable{System.Decimal} required
decimals System.Int32 required
culture System.Globalization.CultureInfo required
public EmailKeyValueRow WithPhoneNumber(String phoneNumber, String text = null) #
Returns: EmailKeyValueRow

Sets value as a tel link (no raw HTML required).

Parameters

phoneNumber System.String requiredposition: 0
text System.String = null optionalposition: 1
WithRelativeTime 2 overloads
public EmailKeyValueRow WithRelativeTime(Nullable<DateTimeOffset> when, Nullable<DateTimeOffset> now = null) #
Returns: EmailKeyValueRow

Formats a timestamp relative to now (e.g., "2h ago", "in 3d").

Parameters

when System.DateTimeOffset requiredposition: 0
now System.Nullable{System.DateTimeOffset} = null optionalposition: 1
WithRelativeTime(System.Nullable{System.DateTimeOffset} when, System.Nullable{System.DateTimeOffset} now) #

Formats a timestamp relative to now (nullable). When the value is null, clears the cell.

Parameters

when System.Nullable{System.DateTimeOffset} required
now System.Nullable{System.DateTimeOffset} required
public EmailKeyValueRow WithStatus(String label, EmailStatusTone tone = Neutral, String meta = "", String href = null) #
Returns: EmailKeyValueRow

Renders the value as a compact status (dot + label + optional meta) without raw HTML.

Parameters

label System.String requiredposition: 0
tone HtmlForgeX.Email.EmailStatusTone = Neutral optionalposition: 1
meta System.String = "" optionalposition: 2
href System.String = null optionalposition: 3
WithTime 4 overloads
public EmailKeyValueRow WithTime(Nullable<DateTimeOffset> value, String format = "h:mm tt", CultureInfo culture = null) #
Returns: EmailKeyValueRow

Formats a time using an email-friendly default.

Parameters

value System.DateTime requiredposition: 0
format System.String = "h:mm tt" optionalposition: 1
culture System.Globalization.CultureInfo = null optionalposition: 2
WithTime(System.Nullable{System.DateTime} value, System.String format, System.Globalization.CultureInfo culture) #

Formats a time using an email-friendly default (nullable). When the value is null, clears the cell.

Parameters

value System.Nullable{System.DateTime} required
format System.String required
culture System.Globalization.CultureInfo required
WithTime(System.DateTimeOffset value, System.String format, System.Globalization.CultureInfo culture) #

Formats a time using an email-friendly default.

Parameters

value System.DateTimeOffset required
format System.String required
culture System.Globalization.CultureInfo required
WithTime(System.Nullable{System.DateTimeOffset} value, System.String format, System.Globalization.CultureInfo culture) #

Formats a time using an email-friendly default (nullable). When the value is null, clears the cell.

Parameters

value System.Nullable{System.DateTimeOffset} required
format System.String required
culture System.Globalization.CultureInfo required
public EmailKeyValueRow WithUrl(String url, String text = null) #
Returns: EmailKeyValueRow

Sets value as a URL link (no raw HTML required).

Parameters

url System.String requiredposition: 0
text System.String = null optionalposition: 1
public EmailKeyValueRow WithValue(String value) #
Returns: EmailKeyValueRow

Sets value.

Parameters

value System.String requiredposition: 0

Properties

public String Key { get; set; } #

Key/label.

public String Value { get; set; } #

Value.

public String Href { get; set; } #

Optional link for the value.

public Boolean ValueMonospace { get; set; } #

When true, renders the value in monospace.

public Boolean ValueBreakAll { get; set; } #

When true and ValueMonospace is enabled, allows breaking anywhere for long values.

public Nullable<EmailStatusTone> StatusTone { get; set; } #

Optional semantic tone for status-like values (dot + label).

public String StatusMeta { get; set; } #

Optional secondary status text shown after the label.

IsNullValue #

True when the last typed helper received a null and cleared the value. Used by EmailKeyValueTable to optionally skip rows or show placeholders.