Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin
Wiki Markup
{description}
{excerpt}Sets an array of objects as a data source for a single row in a template.?  When binding an array horizontally, you must insert a datamarker for each element you want displayed.  {excerpt}
{signature:C#}
 public virtual void BindRowData(System.Object[] rowData, System.String[] columnNames, System.String dataSourceName, DataBindingProperties property)
{signature}{signature:vb.net}
Public Overridable Sub BindRowData(ByVal rowData As Object(), ByVal columnNames As String(), ByVal dataSourceName As String, ByVal [property] As DataBindingProperties)
{signature}
{parameters}
{param:rowData}An object to use as the data source.{param}
{param:columnNames}The names of the columns to get from the data source. If the {{columnNames}} parameter is null, field binding can only be performed by ordinal \(for example, \%\%=DSN.\#1 or \%\%=$DSN\). If {{columnNames}} is specified, both ordinal field binding and named field binding can be used.
{param}
{param:dataSourceName}The name of the set of data markers at which to insert the values imported from the data source. {{dataSourceName}} must be specified, but can be left as null or an empty string if this is the first data source bound AND the data markers in the template use the [short data marker syntax|http://wiki.softartisans.com/display/EW8/Creating+Data+Markers#CreatingDataMarkers-short] or refer to the datasource by number rather than name. Note: {{dataSourceName}} does not include a data marker's column name, for example, the {{dataSourceName}} for {{%%=Products.ProductID}} is "Products."{param}

{param:property}The [DataBindingProperties|DataBindingProperties] object which contains information about how the data should be bound to the template. {{property}} Must be specified, but the {{DataBindingProperties}} need not be set beforehand. To bind data to a template with the default {{DataBindingProperties}}, pass in {{ExcelTemplate.CreateDataBindingProperties()}} as the {{property}} value. Otherwise, use the {{ExcelTemplate.CreateDataBindingProperties()}} method to generate a new {{DataBindingProperties}} object and set the [DataBindingProperties.MaxRows|DataBindingProperties.MaxRows], [DataBindingProperties.Transpose|DataBindingProperties.Transpose], and/or [DataBindingProperties.WorksheetName|DataBindingProperties.WorksheetName] properties for the workbook.{param}
{exceptions}
{exception:ArgumentNullException}{{BindRowData}} will throw this exception if {{null}} \(C\#\) or {{Nothing}} \(VB.NET\) is passed to the method.{exception}
{exception:ArgumentException}{exception}
{example}{code:csharp|title=C#}

          //--- Set a data source for the row of data markers
          //--- %%=Address.Street, %%=Address.City, and
          //--- %%=Address.State
          string[] addressvalues = {"1330 Beacon St.", "Brookline", "MA"};
          string[] addressnames = {"Street", "City", "State"};
          xlt.BindRowData(addressvalues,
               addressnames,
               "Address",
               xlt.CreateDataBindingProperties());
        {code}
{code:vb.net|title=vb.net}

          '--- Set a data source for the row of data markers
          '--- %%=Address.Street, %%=Address.City, and
          '--- %%=Address.State
          Dim addressvalues As String() = {"1330 Beacon St.", "Brookline", "MA"}
          Dim addressnames As String() = {"Street", "City", "State"}
          xlt.BindRowData(addressvalues, _
               addressnames, _
               "Address" _
               xlt.CreateDataBindingProperties())
        {code}

{example}