.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2018 by Total Control Software
   License:   wxWindows License

.. include:: headings.inc



.. _wx.dataview.DataViewListCtrl:

==========================================================================================================================================
|phoenix_title|  **wx.dataview.DataViewListCtrl**
==========================================================================================================================================

This class is a :ref:`wx.dataview.DataViewCtrl`  which internally uses a :ref:`wx.dataview.DataViewListStore`  and forwards most of its API to that class.          

The purpose of this class is to offer a simple way to display and edit a small table of data without having to write your own :ref:`wx.dataview.DataViewModel`. 

::

    listctrl = wx.dataview.DataViewListCtrl(parent, wx.ID_ANY)

    listctrl.AppendToggleColumn("Toggle")
    listctrl.AppendTextColumn("Text")

    data = [True, "row 1"]
    listctrl.AppendItem(data)

    data = [False, "row 3"]
    listctrl.AppendItem(data)







.. _DataViewListCtrl-styles:

|styles| Window Styles
================================

This class supports the following styles: 

  See :ref:`wx.dataview.DataViewCtrl`  for the list of supported styles.  





.. _DataViewListCtrl-events:

|events| Events Emitted by this Class
=====================================

Event macros for events emitted by this class: 

  See :ref:`wx.dataview.DataViewCtrl`  for the list of events emitted by this class.  







         



.. versionadded:: 2.9.0 
     







|

|class_hierarchy| Class Hierarchy
=================================

.. raw:: html

   <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
   <img id="toggleBlock-trigger" src="_static/images/closed.png"/>
   Inheritance diagram for class <strong>DataViewListCtrl</strong>:
   </div>
   <div id="toggleBlock-summary" style="display:block;"></div>
   <div id="toggleBlock-content" style="display:none;">
   <p class="graphviz">
   <center><img src="_static/images/inheritance/wx.dataview.DataViewListCtrl_inheritance.png" alt="Inheritance diagram of DataViewListCtrl" usemap="#dummy" class="inheritance"/></center>
   </div>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.Control.html" title="wx.Control" alt="" coords="69,237,157,267"/> <area shape="rect" id="node7" href="wx.dataview.DataViewCtrl.html" title="wx.dataview.DataViewCtrl" alt="" coords="22,315,204,344"/> <area shape="rect" id="node2" href="wx.Window.html" title="wx.Window" alt="" coords="69,160,157,189"/> <area shape="rect" id="node3" href="wx.Trackable.html" title="wx.Trackable" alt="" coords="5,5,107,35"/> <area shape="rect" id="node5" href="wx.EvtHandler.html" title="wx.EvtHandler" alt="" coords="57,83,168,112"/> <area shape="rect" id="node4" href="wx.Object.html" title="wx.Object" alt="" coords="131,5,212,35"/> <area shape="rect" id="node6" href="wx.dataview.DataViewListCtrl.html" title="wx.dataview.DataViewListCtrl" alt="" coords="11,392,216,421"/> </map> 
   </p>

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.dataview.DataViewListCtrl.__init__`                                   Default constructor.
:meth:`~wx.dataview.DataViewListCtrl.AppendColumn`                               Appends a column to the control and additionally appends a column to the store with the type string.
:meth:`~wx.dataview.DataViewListCtrl.AppendIconTextColumn`                       Appends an icon-and-text column to the control and the store.
:meth:`~wx.dataview.DataViewListCtrl.AppendItem`                                 Appends an item (=row) to the control and store.
:meth:`~wx.dataview.DataViewListCtrl.AppendProgressColumn`                       Appends a progress column to the control and the store.
:meth:`~wx.dataview.DataViewListCtrl.AppendTextColumn`                           Appends a text column to the control and the store.
:meth:`~wx.dataview.DataViewListCtrl.AppendToggleColumn`                         Appends a toggle column to the control and the store.
:meth:`~wx.dataview.DataViewListCtrl.Create`                                     Creates the control and a :ref:`wx.dataview.DataViewListStore`  as its internal model.
:meth:`~wx.dataview.DataViewListCtrl.DeleteAllItems`                             Delete all items (= all rows).
:meth:`~wx.dataview.DataViewListCtrl.DeleteItem`                                 Delete the row at position `row`.
:meth:`~wx.dataview.DataViewListCtrl.GetClassDefaultAttributes`                  
:meth:`~wx.dataview.DataViewListCtrl.GetItemCount`                               Returns the number of items (=rows) in the control.
:meth:`~wx.dataview.DataViewListCtrl.GetItemData`                                Returns the client data associated with the item.
:meth:`~wx.dataview.DataViewListCtrl.GetSelectedRow`                             Returns index of the selected row or ``wx.NOT_FOUND``.
:meth:`~wx.dataview.DataViewListCtrl.GetStore`                                   Returns the store.
:meth:`~wx.dataview.DataViewListCtrl.GetTextValue`                               Returns the value from the store.
:meth:`~wx.dataview.DataViewListCtrl.GetToggleValue`                             Returns the value from the store.
:meth:`~wx.dataview.DataViewListCtrl.GetValue`                                   Returns the value from the store.
:meth:`~wx.dataview.DataViewListCtrl.InsertColumn`                               Inserts a column to the control and additionally inserts a column to the store with the type string.
:meth:`~wx.dataview.DataViewListCtrl.InsertItem`                                 Inserts an item (=row) to the control and store.
:meth:`~wx.dataview.DataViewListCtrl.IsRowSelected`                              Returns ``True`` if `row`  is selected.
:meth:`~wx.dataview.DataViewListCtrl.ItemToRow`                                  Returns the position of given `item`  or ``wx.NOT_FOUND`` if it's not a valid item.
:meth:`~wx.dataview.DataViewListCtrl.PrependColumn`                              Prepends a column to the control and additionally prepends a column to the store with the type string.
:meth:`~wx.dataview.DataViewListCtrl.PrependItem`                                Prepends an item (=row) to the control and store.
:meth:`~wx.dataview.DataViewListCtrl.RowToItem`                                  Returns the :ref:`wx.dataview.DataViewItem`  at the given `row`.
:meth:`~wx.dataview.DataViewListCtrl.SelectRow`                                  Selects given row.
:meth:`~wx.dataview.DataViewListCtrl.SetItemData`                                Associates a client data pointer with the given item.
:meth:`~wx.dataview.DataViewListCtrl.SetTextValue`                               Sets the value in the store and update the control.
:meth:`~wx.dataview.DataViewListCtrl.SetToggleValue`                             Sets the value in the store and update the control.
:meth:`~wx.dataview.DataViewListCtrl.SetValue`                                   Sets the value in the store and update the control.
:meth:`~wx.dataview.DataViewListCtrl.UnselectRow`                                Unselects given row.
================================================================================ ================================================================================


|


|property_summary| Properties Summary
=====================================

================================================================================ ================================================================================
:attr:`~wx.dataview.DataViewListCtrl.ItemCount`                                  See :meth:`~wx.dataview.DataViewListCtrl.GetItemCount`
:attr:`~wx.dataview.DataViewListCtrl.SelectedRow`                                See :meth:`~wx.dataview.DataViewListCtrl.GetSelectedRow`
:attr:`~wx.dataview.DataViewListCtrl.Store`                                      See :meth:`~wx.dataview.DataViewListCtrl.GetStore`
================================================================================ ================================================================================


|


|api| Class API
===============


.. class:: wx.dataview.DataViewListCtrl(DataViewCtrl)

   **Possible constructors**::

       DataViewListCtrl()
       
       DataViewListCtrl(parent, id=ID_ANY, pos=DefaultPosition,
                        size=DefaultSize, style=DV_ROW_LINES, validator=DefaultValidator)
       
   
   This class is a DataViewCtrl which internally uses a
   DataViewListStore and forwards most of its API to that class.



   .. method:: __init__(self, *args, **kw)



      |overload| Overloaded Implementations:

      **~~~**

      
      **__init__** `(self)`
      
      Default constructor.                   
      
      
      
      
      **~~~**

      
      **__init__** `(self, parent, id=ID_ANY, pos=DefaultPosition, size=DefaultSize, style=DV_ROW_LINES, validator=DefaultValidator)`
      
      Constructor.                  
      
      Calls :meth:`Create` .                  
      
      
      :param `parent`: 
      :type `parent`: wx.Window
      :param `id`: 
      :type `id`: wx.WindowID
      :param `pos`: 
      :type `pos`: wx.Point
      :param `size`: 
      :type `size`: wx.Size
      :param `style`: 
      :type `style`: long
      :param `validator`: 
      :type `validator`: wx.Validator
      
      
      
      
      
      
      **~~~**






   .. method:: AppendColumn(self, *args, **kw)



      |overload| Overloaded Implementations:

      **~~~**

      
      **AppendColumn** `(self, column)`
      
      Appends a column to the control and additionally appends a column to the store with the type string.                  
      
      
      :param `column`: 
      :type `column`: wx.dataview.DataViewColumn
      
      
      
      
      :rtype: `bool`
      
      
      
      
      
      
      
      **~~~**

      
      **AppendColumn** `(self, column, varianttype)`
      
      Appends a column to the control and additionally appends a column to the list store with the type `varianttype`.                  
      
      
      :param `column`: 
      :type `column`: wx.dataview.DataViewColumn
      :param `varianttype`: 
      :type `varianttype`: string
      
      
      
      
      
      
      **~~~**






   .. method:: AppendIconTextColumn(self, label, mode=DATAVIEW_CELL_INERT, width=-1, align=ALIGN_LEFT, flags=DATAVIEW_COL_RESIZABLE)

      Appends an icon-and-text column to the control and the store.                  

      See :meth:`DataViewColumn.__init__`   for more info about the parameters.                  


      :param `label`: 
      :type `label`: string
      :param `mode`: 
      :type `mode`: wx.dataview.DataViewCellMode
      :param `width`: 
      :type `width`: int
      :param `align`: 
      :type `align`: wx.Alignment
      :param `flags`: 
      :type `flags`: int




      :rtype: :ref:`wx.dataview.DataViewColumn`








   .. method:: AppendItem(self, values, data=None)

      Appends an item (=row) to the control and store.                  


      :param `values`: 
      :type `values`: :class:`VariantVector`
      :param `data`: 
      :type `data`: wx.UIntPtr







   .. method:: AppendProgressColumn(self, label, mode=DATAVIEW_CELL_INERT, width=-1, align=ALIGN_LEFT, flags=DATAVIEW_COL_RESIZABLE)

      Appends a progress column to the control and the store.                  

      See :meth:`DataViewColumn.__init__`   for more info about the parameters.                  


      :param `label`: 
      :type `label`: string
      :param `mode`: 
      :type `mode`: wx.dataview.DataViewCellMode
      :param `width`: 
      :type `width`: int
      :param `align`: 
      :type `align`: wx.Alignment
      :param `flags`: 
      :type `flags`: int




      :rtype: :ref:`wx.dataview.DataViewColumn`








   .. method:: AppendTextColumn(self, label, mode=DATAVIEW_CELL_INERT, width=-1, align=ALIGN_LEFT, flags=DATAVIEW_COL_RESIZABLE)

      Appends a text column to the control and the store.                  

      See :meth:`DataViewColumn.__init__`   for more info about the parameters.                  


      :param `label`: 
      :type `label`: string
      :param `mode`: 
      :type `mode`: wx.dataview.DataViewCellMode
      :param `width`: 
      :type `width`: int
      :param `align`: 
      :type `align`: wx.Alignment
      :param `flags`: 
      :type `flags`: int




      :rtype: :ref:`wx.dataview.DataViewColumn`








   .. method:: AppendToggleColumn(self, label, mode=DATAVIEW_CELL_ACTIVATABLE, width=-1, align=ALIGN_LEFT, flags=DATAVIEW_COL_RESIZABLE)

      Appends a toggle column to the control and the store.                  

      See :meth:`DataViewColumn.__init__`   for more info about the parameters.                  


      :param `label`: 
      :type `label`: string
      :param `mode`: 
      :type `mode`: wx.dataview.DataViewCellMode
      :param `width`: 
      :type `width`: int
      :param `align`: 
      :type `align`: wx.Alignment
      :param `flags`: 
      :type `flags`: int




      :rtype: :ref:`wx.dataview.DataViewColumn`








   .. method:: Create(self, parent, id=ID_ANY, pos=DefaultPosition, size=DefaultSize, style=DV_ROW_LINES, validator=DefaultValidator)

      Creates the control and a :ref:`wx.dataview.DataViewListStore`  as its internal model.                  


      :param `parent`: 
      :type `parent`: wx.Window
      :param `id`: 
      :type `id`: wx.WindowID
      :param `pos`: 
      :type `pos`: wx.Point
      :param `size`: 
      :type `size`: wx.Size
      :param `style`: 
      :type `style`: long
      :param `validator`: 
      :type `validator`: wx.Validator




      :rtype: `bool`








   .. method:: DeleteAllItems(self)

      Delete all items (= all rows).                   





   .. method:: DeleteItem(self, row)

      Delete the row at position `row`.                  


      :param `row`: 







   .. staticmethod:: GetClassDefaultAttributes(variant=WINDOW_VARIANT_NORMAL)




      :param `variant`: 
      :type `variant`: wx.WindowVariant




      :rtype: :ref:`VisualAttributes`








   .. method:: GetItemCount(self)

      Returns the number of items (=rows) in the control.                  

                

      :rtype: `int`







      .. versionadded:: 2.9.4 
     








   .. method:: GetItemData(self, item)

      Returns the client data associated with the item.                  

                


      :param `item`: 
      :type `item`: wx.dataview.DataViewItem




      :rtype: :ref:`wx.UIntPtr`







      .. versionadded:: 2.9.4 
     







      .. seealso:: :meth:`SetItemData`   








   .. method:: GetSelectedRow(self)

      Returns index of the selected row or ``wx.NOT_FOUND``.                  

                

      :rtype: `int`







      .. versionadded:: 2.9.2 
     







      .. seealso:: :meth:`wx.dataview.DataViewCtrl.GetSelection`   








   .. method:: GetStore(self)

      Returns the store.                  

      :rtype: :ref:`wx.dataview.DataViewListStore`








   .. method:: GetTextValue(self, row, col)

      Returns the value from the store.                  

      This method assumes that the string is stored in respective column.                  


      :param `row`: 
      :type `row`: int
      :param `col`: 
      :type `col`: int




      :rtype: `string`








   .. method:: GetToggleValue(self, row, col)

      Returns the value from the store.                  

      This method assumes that the boolean value is stored in respective column.                  


      :param `row`: 
      :type `row`: int
      :param `col`: 
      :type `col`: int




      :rtype: `bool`








   .. method:: GetValue(self, row, col)

      Returns the value from the store.                  


      :param `row`: 
      :type `row`: int
      :param `col`: 
      :type `col`: int




      :rtype: `value`








   .. method:: InsertColumn(self, *args, **kw)



      |overload| Overloaded Implementations:

      **~~~**

      
      **InsertColumn** `(self, pos, column)`
      
      Inserts a column to the control and additionally inserts a column to the store with the type string.                  
      
      
      :param `pos`: 
      :type `pos`: int
      :param `column`: 
      :type `column`: wx.dataview.DataViewColumn
      
      
      
      
      :rtype: `bool`
      
      
      
      
      
      
      
      **~~~**

      
      **InsertColumn** `(self, pos, column, varianttype)`
      
      Inserts a column to the control and additionally inserts a column to the list store with the type `varianttype`.                  
      
      
      :param `pos`: 
      :type `pos`: int
      :param `column`: 
      :type `column`: wx.dataview.DataViewColumn
      :param `varianttype`: 
      :type `varianttype`: string
      
      
      
      
      
      
      **~~~**






   .. method:: InsertItem(self, row, values, data=None)

      Inserts an item (=row) to the control and store.                  


      :param `row`: 
      :type `row`: int
      :param `values`: 
      :type `values`: :class:`VariantVector`
      :param `data`: 
      :type `data`: wx.UIntPtr







   .. method:: IsRowSelected(self, row)

      Returns ``True`` if `row`  is selected.                  

                


      :param `row`: 




      :rtype: `bool`







      .. versionadded:: 2.9.2 
     







      .. seealso:: :meth:`wx.dataview.DataViewCtrl.IsSelected`   








   .. method:: ItemToRow(self, item)

      Returns the position of given `item`  or ``wx.NOT_FOUND`` if it's not a valid item.                  

                


      :param `item`: 
      :type `item`: wx.dataview.DataViewItem




      :rtype: `int`







      .. versionadded:: 2.9.2 
     








   .. method:: PrependColumn(self, *args, **kw)



      |overload| Overloaded Implementations:

      **~~~**

      
      **PrependColumn** `(self, column)`
      
      Prepends a column to the control and additionally prepends a column to the store with the type string.                  
      
      
      :param `column`: 
      :type `column`: wx.dataview.DataViewColumn
      
      
      
      
      :rtype: `bool`
      
      
      
      
      
      
      
      **~~~**

      
      **PrependColumn** `(self, column, varianttype)`
      
      Prepends a column to the control and additionally prepends a column to the list store with the type `varianttype`.                  
      
      
      :param `column`: 
      :type `column`: wx.dataview.DataViewColumn
      :param `varianttype`: 
      :type `varianttype`: string
      
      
      
      
      
      
      **~~~**






   .. method:: PrependItem(self, values, data=None)

      Prepends an item (=row) to the control and store.                  


      :param `values`: 
      :type `values`: :class:`VariantVector`
      :param `data`: 
      :type `data`: wx.UIntPtr







   .. method:: RowToItem(self, row)

      Returns the :ref:`wx.dataview.DataViewItem`  at the given `row`.                  

                


      :param `row`: 
      :type `row`: int




      :rtype: :ref:`wx.dataview.DataViewItem`







      .. versionadded:: 2.9.2 
     








   .. method:: SelectRow(self, row)

      Selects given row.                  

                


      :param `row`: 






      .. versionadded:: 2.9.2 
     







      .. seealso:: :meth:`wx.dataview.DataViewCtrl.Select`   








   .. method:: SetItemData(self, item, data)

      Associates a client data pointer with the given item.                  

      Notice that the control does `not`  take ownership of the pointer for compatibility with :ref:`wx.ListCtrl`. I.e. it will `not`  delete the pointer (if it is a pointer and not a number) itself, it is up to you to do it. 

                


      :param `item`: 
      :type `item`: wx.dataview.DataViewItem
      :param `data`: 
      :type `data`: wx.UIntPtr






      .. versionadded:: 2.9.4 
     







      .. seealso:: :meth:`GetItemData`   








   .. method:: SetTextValue(self, value, row, col)

      Sets the value in the store and update the control.                  

      This method assumes that the string is stored in respective column.                  


      :param `value`: 
      :type `value`: string
      :param `row`: 
      :type `row`: int
      :param `col`: 
      :type `col`: int







   .. method:: SetToggleValue(self, value, row, col)

      Sets the value in the store and update the control.                  

      This method assumes that the boolean value is stored in respective column.                  


      :param `value`: 
      :type `value`: bool
      :param `row`: 
      :type `row`: int
      :param `col`: 
      :type `col`: int







   .. method:: SetValue(self, value, row, col)

      Sets the value in the store and update the control.                  


      :param `value`: 
      :type `value`: DVCVariant
      :param `row`: 
      :type `row`: int
      :param `col`: 
      :type `col`: int







   .. method:: UnselectRow(self, row)

      Unselects given row.                  

                


      :param `row`: 






      .. versionadded:: 2.9.2 
     







      .. seealso:: :meth:`wx.dataview.DataViewCtrl.Unselect`   








   .. attribute:: ItemCount

      See :meth:`~wx.dataview.DataViewListCtrl.GetItemCount`


   .. attribute:: SelectedRow

      See :meth:`~wx.dataview.DataViewListCtrl.GetSelectedRow`


   .. attribute:: Store

      See :meth:`~wx.dataview.DataViewListCtrl.GetStore`

