#newcommand
@script JScript
function OnClick(clickData)
{
var dlg = clickData.func.Dlg;
dlg.template = "dialog1";
dlg.detach = true;
dlg.Create();
var listview = dlg.Control("listview");
var groups = ["Dates", "Sepcial"];
for(var i = 0; i < groups.length; i++)
{
var group = groups[i];
var createdGroup = listview.AddGroup(group, i); //this is working
listview.AddItem("Sample " + group, i, i);
}
listview.EnableGroupView(true);
listview.columns.AutoSize();
while (true)
{
var msg = dlg.GetMsg();
if (!msg.result)
break;
if(msg.event == "click" && msg.control == "buttonAdd" )
{
var newGroup = "New Group";
var groupIndex = ArrayIndexOf(groups, newGroup);
Log("Groupindex: " + groupIndex);
if(groupIndex == -1)
{
groupIndex = listview.AddGroup(newGroup, groups.length+1);
Log("Groupindex was -1. New Groupindex is " + groupIndex);
}
var addedIndex = listview.AddItem("New Name", "New Data", groupIndex);
Log("Added item index is " + addedIndex);
if(addedIndex > -1) //this is necessary since i cannot be sure that it is added
{
Log("Added index is now valid: " + addedIndex);
var lvItem = listview.GetItemAt(addedIndex);
lvItem.subitems(0) = true ? "Yes" : "No";
listview.columns.AutoSize();
}
}
}
}
function ArrayIndexOf(array, element)
{
for(var i = 0; i < array.length; i++)
if(array[i] == element)
return i;
return -1;
}
function Log(msg) { DOpus.Output(String(msg)); }
==SCRIPT RESOURCES
<resources>
<resource name="dialog1" type="dialog">
<dialog fontsize="8" height="177" lang="english" width="186">
<control height="139" name="listview" type="listview" viewmode="details" width="160" x="9" y="4">
<columns>
<item text="1" />
<item text="2" />
</columns>
</control>
<control height="14" name="buttonAdd" title="Add" type="button" width="50" x="66" y="151" />
</dialog>
</resource>
</resources>