Overview
...
DataTableDictionary DataTable myDataTable.ToDictionary(columns: string, separator: string)
...
Separator to use as dictionary key when multiple columns specified. If not specified "." value is used by default.
Remarks
When columns argument contains an invalid column which is not in DataTable error is thrown.
If multiple columns shares same key, dictionary value would be array of data table row.
Example
Convert users to a dictionary
Code Block | ||
---|---|---|
| ||
var employeeTable = $Database.Get({ Parameters : { TargetSchema : 'HR', TargetTable : 'Employee' } }); var employeeList = employeeTable.ToDictionary('RegistryNumber'); // employeeList now contains // { // "1234" : { Id : "ABC", RegistryNumber: "1234", StartDate: ... } // "4567" : { Id : "DEF", RegistryNumber: "4567", StartDate: ... } // } var employee = employeeList.Get("12345"); |
Example
...
Code Block | ||
---|---|---|
| ||
var employeeTable = $Database.Get({
Parameters : {
TargetSchema : 'HR',
TargetTable : 'Employee'
}
});
var employeeList = employeeTable.ToDictionary('Id,RegistryNumber');
// employeeList now contains
// {
// "ABC.1234" : { Id : "ABC", RegistryNumber: "1234", StartDate: ... }
// "DEF.4567" : { Id : "DEF", RegistryNumber: "4567", StartDate: ... }
// }
var employee = employeeList.Get("ABC.1234"); |
Examples
...
language | js |
---|
...
Using multiple columns
Code Block | ||
---|---|---|
| ||
var employeeTable = $Database.Get({ Parameters : { TargetSchema : 'HR', TargetTable : 'Employee' } }); var employeeList = employeeTable.ToDictionary('Id,RegistryNumber'); // employeeList now contains // { // "ABC.1234" : { Id : "ABC", RegistryNumber: "1234", StartDate: ... } // "DEF.4567" : { Id : "DEF", RegistryNumber: "4567", StartDate: ... } // } var employee = employeeList.Get("ABC.1234"); |