Adds a new item, and returns a handle to the newly created item.
Type | Description | |||
Value as Variant | A variant expression that indicates the cell's value for the first column or a safe array that holds the values for each column. |
Return | Description | |||
HITEM | A long expression that indicates the handle of the newly created item. |
Use the AddItem property to add new items/cards that have no parent ( usually when your control acts like a list or in CardView mode ). Adding new items fails, if the control has no columns. Use the Add method to add new columns to the control. Use InsertItem to insert child items ( usually when your control acts like a tree ). Use the InsertControlItem to insert ActiveX items. Use PutItems method to load an array of variants. When a new item is added to the Items collection, the control fires the AddItem event. If the control contains more than one column use the CellValue property to set the cell's value. Use the CellValueFormat property to specify whether the value contains HTML format or computed fields. If the control has no columns the AddItem method fails. Use Add method to insert new columns to the control. The AddItem method is not available if the control is running in the virtual mode. Use the LockedItemCount property to lock or unlock items to the top or bottom side of the control. Use the MergeCells method to combine one or more cells in a single cell. Use the SplitCell property to split a cell. If the CauseValidateValue property is True, the control fires the ValidateValue property when the user adds a new item. Please notice that the Change event is fired when adding a new item, if you are specifying a value using the Value argument ). Use the BeginUpdate and EndUpdate methods to maintain performance while adding new columns and items. Use the CellEditor property to assign an editor to a cell. Use the Editor property to assign an editor to all cells in the column. Use the ConditionalFormats method to apply formats to a cell or range of cells, and have that formatting change depending on the value of the cell or the value of a formula.
The following VB6 sample uses the VB Array function to add two items:
With Grid1 .BeginUpdate .Columns.Add "Column 1" .Columns.Add "Column 2" .Columns.Add "Column 3" With .Items .AddItem Array("Item 1.1", "Item 1.2", "Item 1.3") .AddItem Array("Item 2.1", "Item 2.2", "Item 2.3") End With .EndUpdate End With
In VB/NET using the /NET assembly, the Array equivalent is New Object such as follows:
With Grid1 .BeginUpdate() .Columns.Add("Column 1") .Columns.Add("Column 2") .Columns.Add("Column 3") With .Items .AddItem(New Object() {"Item 1.1", "Item 1.2", "Item 1.3"}) .AddItem(New Object() {"Item 2.1", "Item 2.2", "Item 2.3"}) End With .EndUpdate() End With
In C# using the /NET assembly, the Array equivalent is new object such as follows:
exgrid1.BeginUpdate(); exgrid1.Columns.Add("Column 1"); exgrid1.Columns.Add("Column 2"); exgrid1.Columns.Add("Column 3"); exgrid1.Items.AddItem(new object[] { "Item 1.1", "Item 1.2", "Item 1.3" }); exgrid1.Items.AddItem(new object[] { "Item 2.1", "Item 2.2", "Item 2.3" }); exgrid1.EndUpdate();
The following C# sample adds a new item to the control:
EXGRIDLib.Items items = axGrid1.Items; int i = items.AddItem("new items"); EXGRIDLib.Editor editor = items.get_CellEditor(i, 0); editor.EditType = EXGRIDLib.EditTypeEnum.EditType;
The following VB.NET sample adds a new item to the control:
With AxGrid1.Items Dim i As Integer = .AddItem("new item") With .CellEditor(i, 0) .EditType = EXGRIDLib.EditTypeEnum.EditType End With End With
The following C++ sample adds a new item to the control:
#include "Items.h" #include "Editor.h" COleVariant vtMissing; V_VT( &vtMissing) = VT_ERROR; CItems items = m_grid.GetItems(); COleVariant vtItem( items.AddItem( COleVariant("new item") ) ), vtColumn( long(0) ); CEditor editor = items.GetCellEditor( vtItem, vtColumn ); editor.SetEditType( 1 /*EditType*/ );
The following VFP sample adds a new item to the control:
with thisform.Grid1.Items .DefaultItem = .AddItem("new item") With .CellEditor(0, 0) .EditType = 1 && EditType EndWith endwith
The following VB sample uses the VB Array function to add items to a multiple columns control:
With Grid1 .BeginUpdate .LinesAtRoot = exLinesAtRoot .HasLines = exNoLine .HasButtons = exArrow .Columns.Add "Column 1" .Columns.Add "Column 2" With .Items Dim h As HITEM h = .AddItem(Array("Cell 1", "Cell 2")) .InsertItem h, , Array("Sub Cell 1.1", "Sub Cell 2.1") .InsertItem h, , Array("Sub Cell 1.2", "Sub Cell 2.2") End With .EndUpdate End With
The following VB sample adds items to the control:
' Adds two columns With .Columns With .Add("Column 1").Editor .EditType = EditTypeEnum.ColorType End With With .Add("Column 2").Editor .EditType = EditTypeEnum.EditType End With End With 'Adds few items With .Items Dim h As HITEM h = .AddItem(vbRed) .CellValue(h, 1) = "Simple Text" h = .AddItem(vbBlue) .CellValue(h, 1) = "Simple Text" End With
The following VB sample loads a table row by row:
' Creates an ADO Recordset Set rs = CreateObject("ADODB.Recordset") rs.Open "Employees", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= D:\Program Files\Microsoft Visual Studio\VB98\NWIND.MDB", 3 With .Columns Dim f As Object For Each f In rs.Fields .Add f.Name Next End With ' Adds an item for each record With .Items rs.MoveFirst While Not rs.EOF .AddItem rs(0).Value rs.MoveNext Wend End With
Private Sub Grid1_AddItem(ByVal Item As EXGRIDLibCtl.HITEM) ' Gets the value for each field, in the current record With Grid1.Items .ItemData(Item) = rs.Bookmark For i = 1 To Grid1.Columns.Count - 1 .CellValue(Item, i) = rs(i).Value Next End With End Sub