Hi Infragistics,
Just a side note first, I don't know if anyone has pointed this out, but there's an awful lot of typos in the help files for the gridview.
Ok, so the question is, according to this help snippet, in order to enable section headers, a groupingKey must be set.
But I'm fairly sure I've created a play project using the grid where I displayed section headers just fine without ever setting a groupingKey.
Soooo, am I missing something?
Hey Dave,
So no, the DSH is purely optional, and just implements the IGGridViewDataSource protocol.
Since, we break things out into columns, we are able to add an additional framework, for doing simple things, like editing. But all we're doing, is just swapping the UILabel in the cell with an UITextView. Thats it.
When you're implementing the protocol yourself, you have full control of creating custom cells, that can essentially have whatever you want in them. And you're free to put editors in them or invoke them however you'd like.
So, i wouldn't read too much into the additional methods on the DSH. Like i said before its essentially a shortcut into handling the 80% cases.
Btw, as a side note, a good way to think of the grid, is more of a layout engine. The Datasource describes how it should layout cells. The grid doesn't know anything about cells, other than positioning them and handling selection.
-SteveZ
I'm probably asking this a little too soon, because I'm still trying to feel out the different classes and protocols used with the gridview and it's parts.
It seems, and this is where I may be mistaken, that one would have to use the DataSourceHelper because it has some essential functionality that you couldn't otherwise get your hands on. For example, the -endEditing method, I don't see that in the IGGridViewDataSource Protocol, so if one is trying to forego the DSH and just use the protocol on their own class, well, how do they achieve something like -endEditing in their own class implementing the IGGridViewDataSource Protocol ?
I hope that is a clear question.
Hey Dave
if you're using a dsh, then you need to use the grouping key, unless of course you create a derived version that overeides the appropriate protocol members
Of course it you're not using a dsh then obviously the grouping key isn't even available so you just implement the appropriate methods