public IRawElementProviderSimple GetItem(int row, int column) { int rowCount = RowCount; int columnCount = ColumnCount; //According to http://msdn.microsoft.com/en-us/library/ms743401.aspx if (row < 0 || column < 0 || row >= rowCount || column >= columnCount) { throw new ArgumentOutOfRangeException(); } ListViewProvider provider = (ListViewProvider)Provider; if (listView.View == SWF.View.Details) { // FIXME: In Vista when listView.Groups == 0 no Groups are added, // and we should iterate when listView.Groups > 0 SWF.ListViewItem item = listView.Items [row]; ListViewProvider.ListViewListItemProvider itemProvider = null; if ((listView.Groups == null || listView.Groups.Count == 0) && !listView.ShowGroups) { itemProvider = provider.GetItem(item); } else { ListViewProvider.ListViewGroupProvider groupProvider = provider.GetGroupProviderFrom(provider.GetGroupFrom(item)); itemProvider = (ListViewProvider.ListViewListItemProvider)groupProvider.GetItem(item); } return(itemProvider.GetEditProviderAtColumn(column)); } else //Is View.List { return(provider.GetChildProviderAt((column * rowCount) + row)); } }
public GroupExpandCollapseProviderBehavior(ListViewProvider.ListViewGroupProvider provider) : base(provider) { }
public GroupGridPatternColumnEvent(ListViewProvider.ListViewGroupProvider provider) : base(provider, GridPatternIdentifiers.ColumnCountProperty) { }
public GroupGridProviderBehavior(ListViewProvider.ListViewGroupProvider provider) : base(provider) { viewGroupProvider = provider; }