# WebHMI: Type Compatibility

WebHMI control properties can be bound to $tags of the following types:

The following can be bound from the C# Runtime to the WebHMI, and from the WebHMI to the C# Runtime.

- Bool
- String
- DateTime - Note that DateTime cannot be used in a table (type of DataSet)
- byte, sbyte, short, ushort, int, uint, long, ulong, float, double)

The following can be bound only from the C# Runtime and received by the WebHMI. The WebHMI cannot send these values to the runtime.

- DataSet (Usually from a database query, for example $Databases.new_database.MyTable.SelectAll.DataSet )

- TableData (Used in a listbox to bind recipe configurations and localization languages)

- ICogImage and ICogRecord

## Data Compatibility between WPF and WebHMI

As depicted in the graphic, WPF HMI can exchange any data type using the C# Runtime.

By contrast, the WebHMI clients can exchange limited data types with the runtime using JavaScript, depending on the types being passed. Web Client 1 can receive images, graphics and table data (datasets) from the runtime. Web Client 2 passes the four primitive types to the C# runtime and back.

Notice that Web Client 1 and Web Client 2 cannot directly exchange data as each is its own separate instance, unaware of the other.