I have an example (written in Javascript) that works.
var Search = Repository.SearchWindow;
Search.EnsureVisible();
Search.NewLayout("{not-a-guid}");
Search.AddColumn("Icon", 0);
Search.AddColumn("Name", 80);
Search.AddColumn("Author", 80);
var pkg = Repository.GetTreeSelectedPackage();
var j = 0;
for(var i = 0; i < pkg.Diagrams.Count; i ++)
{
var dgm = pkg.Diagrams.GetAt(i);
var values = [];
values.push("");
values.push(dgm.Name);
values.push(dgm.Author);
Search.AddRow(8,dgm.DiagramGUID, dgm.DiagramID, dgm.Type, values);
Search.SetCellString(j, 1, values[1]);
Search.SetCellString(j, 2, values[2]);
j++;
}
for(var i = 0; i < pkg.Elements.Count; i ++)
{
var e = pkg.Elements.GetAt(i);
var values = [];
values.push("");
values.push(e.Name);
values.push(e.Author);
Search.AddRow(4,e.ElementGUID, e.ElementID, e.Type, values);
Search.SetCellString(j, 1, values[1]);
Search.SetCellString(j, 2, values[2]);
j++;
}