This section discusses how to configure the DataGrid component.
On this page:
Double-click any DataGrid window object in the display to configure it.
Data Grid window configuration | |
---|---|
Field | Description |
Control Name | Defines a name for the control so it can be accessed in the code-behind script. See Display Code Behind. |
Data Source | Enter the dataset table or query to use for the window. |
SelectedValues | Enter a string tag or array tag to receive the contents of the selected row. |
SelectedIndex | Enter a tag to receive the number of the currently selected row. Row numbering starts with 0. |
LinesCount | Select a tag to receive the number of lines in the window. |
Pause | Set an object to define if the DataGrid will be updated or not when the data changes. |
Theme | Select the theme for the window. |
BindingMode | Select the binding mode. See BindingMode Enum by Microsoft. |
AllowInsert | Select to allow users to add rows. |
Column Titles | Select to display column titles. |
Transpose | Select to transpose columns to rows. |
OneClick Edit | Select to edit cells on first click. |
Allow Delete | Select to allow the data to be deleted from a grid |
AllowSort | Select to allow users to sort the data by column. |
Auto Column |
|
Multiple Selection | Check to make multiple selection possible. |
Edit SelectedValues | Check to make it possible to edit multiple selected values. |
Show Header | Check to show headers on grid. |
Filter | Enter SQL statement to limit the data displayed. |
Columns | For each column you want to customize or include manually, add the column and configure the settings to the right of the list (described below). |
Visible | Select to allow the column to display in the data grid window. |
Editable | Select to let users edit the column. |
Show in Column Chooser | Select to include the column in the column chooser, which lets users select the columns to display. |
FieldName | Enter a name for the column. |
Editor | Select the column data type. |
Title | Enter the text for the column header. |
Width | Enter the initial column width, in WPF units (device-independent pixels; one WPF = 1/96 inch). |
Sort | Select how to initially sort the column. |
Alignment | Select to set the horizontal alignment.
|
TDataGridWindow grid = CurrentDisplay.GetDataGrid("Grid"); Xceed.Wpf.DataGrid.DataGridControl dg = grid.GridControl.DataGridObj; ScrollViewer myScrollViewer = (ScrollViewer)dg.Template.FindName("PART_ScrollViewer", dg); if (myScrollViewer == null || dg.Items.Count == 0) return; string columnName = "Message"; int selIndex = -1; for (int i = 0; i < dg.Items.Count; i++) { DataRowView rowView = dg.Items[i] as DataRowView; if (TK.To<string>(rowView.Row[columnName]).StartsWith(@tag.txtfind)) { dg.Items.MoveCurrentTo(rowView); dg.SelectedItem = rowView; selIndex = i; break; } } if (selIndex >= 0) myScrollViewer.ScrollToVerticalOffset(selIndex); |
The data grid also supports the feature to freeze columns. That means they stay visible while you scoll horizontally through all columns. This is a useful feature to keep a referencing column like an ID or a name always visible to keep your orientation while scrolling.
To freeze a numer of columns just set the FrozenColumnCount
property to the number of columns you want to freeze.
In the code below for CodeBehind, it enables freezing/fixing the left-most columns in a DataGridWindow element.
The 'FixedColumnCount' property tallies the number of columns (from left to right) that will be fixed. The 'ShowFixedColumnSplitter' allows you to select the columns using the mouse (by clicking and dragging).
public void DisplayOpening() { TDataGridWindow gridWindow = CurrentDisplay.GetDataGrid("grid"); gridWindow.AfterInitilizationEvent += AfterInitilization; } public void DisplayIsOpen() { // Add your code here } public void DisplayClosing() { TDataGridWindow gridWindow = CurrentDisplay.GetDataGrid("grid"); gridWindow.AfterInitilizationEvent -= AfterInitilization; } private void AfterInitilization(object sender, EventArgs e) { TDataGridWindow gridWindow = CurrentDisplay.GetDataGrid("Grid"); Xceed.Wpf.DataGrid.Views.TableView tableView = gridWindow.GridControl.DataGridObj.View as Xceed.Wpf.DataGrid.Views.TableView; tableView.FixedColumnCount = 1; tableView.ShowFixedColumnSplitter = true; } |