So, just to put this out there with the community ...
To begin, there are bugs that are a nuisance and then there are bugs that make something unusable. This, in my opinion, is the latter type. I can't have the select column there and have it completely break after sorting.
So, I sent a message back to Kentico stating that the suggestion to upgrade from v7.0.102 to v8.2 was not an acceptable answer and asked if they could at least point me in the direction to fix the code myself and got back the following:
Thank you for your message.
I am sorry to hear that upgrade is not an option for you. We was not aware of this circumstance. Anyway, fixing bugs only for the latest stable release is our official bug-fixing policy. Please refer to http://www.kentico.com/Support/Support-files/Product-Support-Lifecycle, section "Bug Fixing Policy."
This is not about support of older versions. We still support Kentico 6, 7 and 8.x. However, support does not automatically mean bug fixing policy. It means technical support with queries or issues besides unexpected issues - bugs. They are decided to be fixing only for the latest version.
Luckily, if you have full source code, you can try to fix it yourself. The following change should help:
In file:
~/UIControls/Controls/UniGrid/GridViewTemplate.cs
private void BindCheckData(object sender, EventArgs e)
Replace old code:
if (UniGridControl.SelectedItems != null)
{
checkBox.Checked = UniGridControl.SelectedItems.Contains(argument);
}
By new code:
checkBox.Page.PreRenderComplete += ((senderObj, eventArgs) => { if (uniGrid.SelectedItems != null) { checkBox.Checked = uniGrid.SelectedItems.Contains(argument, StringComparer.InvariantCultureIgnoreCase); } });
To start with, does Kentico really not understand that upgrading a large site to the next major version is a significant investment in time and resources? When there are custom web parts and modules written for a project, all those things have to be tested and prepared for a new version.
Second, I do have access to the source and can paste in these new lines, but when I try to build the source code I downloaded, I get 286 errors in VS2012. Can anyone point me in the proper direction to be able to edit this code?
Finally, this bug fix is apparently already known and affects 3 lines of code. Why will Kentico not just put that in a Hotfix?