From Dabo Wiki
Jump to: navigation, search

dListControl is sort of a cross between a grid and a list box. It's like a grid in that you can display rows and columns of data, but like a list box in that you can only select a row at a time, not individual cells.

To populate a dListControl, you must first set its column structure, and then append the rows of data you want. There is currently no way to change the caption of a column once it has been created, so specify the column caption in any of these methods:

  • addColumn(caption): appends a column to the end of the existing columns
  • insertColumn(position, caption): adds a column in specified position
  • setColumns(captionList): clears out any existing columns, and creates new ones with the specified list/tuple of captions.

Data is then added to the control by calling one of the following:

  • append(val, col=0): creates a new row with val in the specified column. If val is a list/tuple, the values will be set in the columns starting with the passed value of col. If either case results in an attempt to add to a column beyond those that have already been created, no error will be raised, but the value will be ignored.
  • appendRows(val, col=0): just like append(), but val should be a list/tuple of row elements. It is equivalent to calling append() once for each element in val.
  • insert(val, row=0, col=0) and insertRows(val, row=0, col=0): analogous to the append methods, except you can specify the row to use for the data.
  • removeRow(rownum): removes the specified row.

Some of the more useful properties:

  • ValueColumn - (int): This determines which column in a multi-column list is returned when the Value property is accessed. Default=0
  • Value - (str / list of str): Returns the text in the selected row that is in the column specified by ValueColumn. If MultipleSelect is True, it returns a list containing the value for each selected row.
  • ColumnCount - (int): Number of columns in the control.
  • RowCount - (int): Number of rows in the control. There is also a Count property; it's just an alias for RowCount.
  • HeaderVisible - (bool): Determines if the column headers are shown. Default=True.
  • HorizontalRules, VerticalRules (bool): Determine if the gridlines are shown in the respective directions.
  • MultipleSelect - (bool): When True, the user can select multiple rows.
  • SelectedIndices - (list of int): Returns a list containing the row numbers that are currently selected.

See the Dabo Class Documentation for an exhaustive documentation of this control's Properties, Events and Methods. (Note that this documentation is no longer live, but it's still available via the Internet Archive).