wire.data.DataTable
Last updated
Last updated
A data table holds an array of objects in the Rows
property much like the rows in a relational database table. Each property in the object has a column that stores meta data about the property in the Columns
property.
Create a new data table by passing in an array of rows and an optional list of columns. If the columns aren't passed in, they will be created from the rows automatically.
Use the select
method in order to select data from the data table. The select
method can take an optional list of comma delimited fields to be selected.
Select the UserName
column from the data table. Also select the FullName
field but change its name to DisplayName
. Aggregate the Quota
column using a sum
and format it to a whole number with no decimals which will include thousand separator commas. The result will automatically be grouped by UserName
and DisplayName
.
Start a filter chain using the where
method.
Filter the data table to UserName
equal to apeters
but only if her Quota
is greater than 800
.
Once fields are selected and filtered, use the following methods to evaluate the resulting rows.
The following creates a new data table with just the UserName
field from the original data table.
Visit Working with DataTables for more details and examples on using data tables.
Name
Type
Default
Description
Columns
array
[ ]
Stores an array of column meta data about each property in the the list of objects stored in each row.
Rows
array
[ ]
Holds the raw list of objects in the data table.
Name
Description
cast
Static method that casts an object with the same data table properties into an instance of the DataTable
class.
Name
Description
calc(function)
Creates a calculated column. As the function
is evaluated, it will receive the current row, index position, and the list of all rows as delegate parameters. Visit Working with DataTable Columns or DataTable Columns for more detail.
column(column)
Select an individual column
name.
distinct
Return a distinct list of rows based on the columns being selected.
nonEmpty
Return only rows that contain no null values.
orderBy(column)
Return the list of rows sorted by column
.
top(N)
Return on the top N
number of records.
as(newName)
Change the name of the column selected from the column
method to newName
.
format(format)
Format selected column using the specification in format
. This can also be a custom function.
Name
Description
avg(column)
Aggregate the numeric column
using an average or arithmetic mean.
count(column)
Aggregate the numeric column
by counting the rows.
distinctCount(column)
Aggregate the numeric column
using a discount count of the rows based on the selected columns.
max(column)
Return the largest numeric value in the column
.
min(column)
Return the smallest numeric value in the column
.
sum(column)
Aggregate the numeric column
by totaling all of its values.
Name
Description
filter(function)
Use a custom function to filter the rows of the data table. As the function
is evaluated, it will receive the current row, index position, and the list of all rows as delegate parameters.
between(column, value1, value2)
Filter rows to those that have a column
value that is between value1
and value2
. This comparison will handle numbers and dates and is case sensitive. It is also inclusive and will include of value1
and value2
if applicable.
contains(column, expression)
Filter rows to those that contain a specific expression
inside a column
. A value will be included in this filter if any part of the value contains the expression
. This comparison is case insensitive.
eq(column, value)
Filter rows to those that have a column
value that equals value
. This comparison is case sensitive.
in(column, values)
Filter rows to those that are contained inside the array of values
in column
. This comparison is case sensitive.
ne(column, value)
Filter rows to those that have a column
value that do not equal value
. This comparison is case sensitive.
starts(column, value)
Filter rows to those that start with a specific expression
inside a column
. This comparison is case insensitive.
Name
Type
Description
count
number
Returns the number row in the result set.
exists
boolean
Returns a true if any rows exist in the result set. Otherwise, returns false.
first
object | null
Returns the first row in the result set. If there are no rows, returns null
.
firstOrDefault
object
Returns the first row in the result set. If there are no rows, returns a row with values for each column set to null
.
rows
array
Returns all the rows in the result set.
scaler
string | number
Returns the first value in the first row. Assumes there is only one row and one column in the result set.
table
DataTable
Creates a new data table from the result set.