I have an 'inter-table' relationship, a customer can be linked to another customer. In RadGrid this is selectable through a DropDownColumn.
However, this isn't always the case. So, those will have their field set to Null.
RadGrid retrieves the Null and makes it a DBNull.
Now, during runtime, that DBNull defaults magically to the first customer record, instead of displaying an emtpy cell.
Nothing mentioned ANYWHERE on this site fixes this, it just stays that way, i can change it to another customer, sure, but Null ones WILL default to the first record.
Not exactly what i am looking for, nor something i want to hard-code (hard-coding stuff like this has been the death of companies, makes for really unmaintainable code when dealing with extreme growth and many changes to the db, hell, the current application in prototyping is for a company that is about to keel over because their current software is hard-coded.), so no frolicking with events and code on this one. No 'dummy customers' either.
A Null is just that, a Null.. not Record #1, not any record, just plain simple vapor, nothing, vacuum, empty, etc..
How to fix without ANY code? Is it fixable to begin with (even with code)?
Oh, also, it seems like the "EmptyListItem" stuff in the DropDownColumn doesn't do anything, or, at least with DBNull or Null values, even though a quick inspection with Reflector does show your DLL figuring out if the EmptyListItemValue is in the data (which it is not), and adding an empty item to the DropDownColumn, this is nowhere to be found in my grid, which happily defaults to Record #1, the EmptyListItem is nowhere to be found, even in the EditForm.
I assume you understand that this absolutely KILLS anything we are doing with Prometheus, it is totally unusable if it defaults to the first record (something that the EmptyListItem stuff should catch and deal with). I have no issue with showing 'None' in that field if there is no linked customer, but defaulting to the first record is a total show (and usage of Prometheus) stopper. I need this resolved/answered ASAP because it will be a LOT of work to re-do the application with another product suite. I am not about to add code for hundreds of grids throughout the massive application in order to catch NULL values, that would be totally ridiculous and completely go against 'RAD'.
However, this isn't always the case. So, those will have their field set to Null.
RadGrid retrieves the Null and makes it a DBNull.
Now, during runtime, that DBNull defaults magically to the first customer record, instead of displaying an emtpy cell.
Nothing mentioned ANYWHERE on this site fixes this, it just stays that way, i can change it to another customer, sure, but Null ones WILL default to the first record.
Not exactly what i am looking for, nor something i want to hard-code (hard-coding stuff like this has been the death of companies, makes for really unmaintainable code when dealing with extreme growth and many changes to the db, hell, the current application in prototyping is for a company that is about to keel over because their current software is hard-coded.), so no frolicking with events and code on this one. No 'dummy customers' either.
A Null is just that, a Null.. not Record #1, not any record, just plain simple vapor, nothing, vacuum, empty, etc..
How to fix without ANY code? Is it fixable to begin with (even with code)?
Oh, also, it seems like the "EmptyListItem" stuff in the DropDownColumn doesn't do anything, or, at least with DBNull or Null values, even though a quick inspection with Reflector does show your DLL figuring out if the EmptyListItemValue is in the data (which it is not), and adding an empty item to the DropDownColumn, this is nowhere to be found in my grid, which happily defaults to Record #1, the EmptyListItem is nowhere to be found, even in the EditForm.
I assume you understand that this absolutely KILLS anything we are doing with Prometheus, it is totally unusable if it defaults to the first record (something that the EmptyListItem stuff should catch and deal with). I have no issue with showing 'None' in that field if there is no linked customer, but defaulting to the first record is a total show (and usage of Prometheus) stopper. I need this resolved/answered ASAP because it will be a LOT of work to re-do the application with another product suite. I am not about to add code for hundreds of grids throughout the massive application in order to catch NULL values, that would be totally ridiculous and completely go against 'RAD'.
11 Answers, 1 is accepted
0
Hello PureCode,
I am sorry to hear that you having difficult time configuring the built-in GridDropDownColumn. Note that detailed instructions about how to customize/configure this column type you can find here.
I tried to replicate the issue with the DBNull value and the first default selected item in non-editable mode but unfortunately to no avail (see the attached project). When the selected value in the dropdown column is null, an empty value is displayed in the corresponding cell.
Can you please verify that on your machine? Note that the EmptyListItemText/EmptyListItemValue are applicable for the dropdown editor only and are not relevant for non-editable mode. Unfortunately I have to confirm that there is a bug in the present official version of RadGrid when you use RadComboBox editor for GridDropDownColumn (default editor) and set EmptyListItemText/EmptyListItemValue. Our developers have already addressed it and the fix will be included in the Q3 2007 SP2 version of RadGrid Prometheus, scheduled at the end of this month.
In the meantime you can either choose standard dropdown for GridDropDownColumn editor (DropDownControlType = "DropDownList") or use the trial internal build of Telerik.Web.UI.dll I put in the root of the enclosed web site.
Kind regards,
Stephen
the Telerik team
Instantly find answers to your questions at the new Telerik Support Center
I am sorry to hear that you having difficult time configuring the built-in GridDropDownColumn. Note that detailed instructions about how to customize/configure this column type you can find here.
I tried to replicate the issue with the DBNull value and the first default selected item in non-editable mode but unfortunately to no avail (see the attached project). When the selected value in the dropdown column is null, an empty value is displayed in the corresponding cell.
Can you please verify that on your machine? Note that the EmptyListItemText/EmptyListItemValue are applicable for the dropdown editor only and are not relevant for non-editable mode. Unfortunately I have to confirm that there is a bug in the present official version of RadGrid when you use RadComboBox editor for GridDropDownColumn (default editor) and set EmptyListItemText/EmptyListItemValue. Our developers have already addressed it and the fix will be included in the Q3 2007 SP2 version of RadGrid Prometheus, scheduled at the end of this month.
In the meantime you can either choose standard dropdown for GridDropDownColumn editor (DropDownControlType = "DropDownList") or use the trial internal build of Telerik.Web.UI.dll I put in the root of the enclosed web site.
Kind regards,
Stephen
the Telerik team
Instantly find answers to your questions at the new Telerik Support Center
0

PureCode
Top achievements
Rank 2
answered on 06 Feb 2008, 05:16 PM
Thanks Stephen,
I'll run a few tests today with the site you enclosed.
However, it is odd you cannot reproduce the issue, considering i made various test tables and various separate 'test sites' and ended up with the same result each time. Maybe the enclosed DLL will fare better.
I opened a support ticket regarding this issue, but that digressed a little into somewhat deeper realms of issues with Prometheus, you may want to check that one out for some more info on what I have discovered so far.
Regards,
Mike
I'll run a few tests today with the site you enclosed.
However, it is odd you cannot reproduce the issue, considering i made various test tables and various separate 'test sites' and ended up with the same result each time. Maybe the enclosed DLL will fare better.
I opened a support ticket regarding this issue, but that digressed a little into somewhat deeper realms of issues with Prometheus, you may want to check that one out for some more info on what I have discovered so far.
Regards,
Mike
0
Hi PureCode,
I will review your support ticket as well and will reply to your additional questions in the thread. Thank you for informing me about this.
Best regards,
Stephen
the Telerik team
Instantly find answers to your questions at the new Telerik Support Center
I will review your support ticket as well and will reply to your additional questions in the thread. Thank you for informing me about this.
Best regards,
Stephen
the Telerik team
Instantly find answers to your questions at the new Telerik Support Center
0

PureCode
Top achievements
Rank 2
answered on 06 Feb 2008, 07:49 PM
Alright, I've done some testing.
First of all, your Drop Down links to a customer table with no automatically incrementing indexing column. Mine does, so i use the Drop Down data value to point to that index (I do have a CustomerID field, but that's a string and I know for a fact that there are duplicates in my customers database (don't ask, their database is a larger mess than your average landfill), so i cannot use that).
So, the Drop Down Column defaulting to the first record in the table seems to be related to the fact that i bind the data value to an auto-incrementing index field.
Secondly, i cannot test your new DLL, it is missing the charting dll (v1.7.2.0), and it bombs out on the one i have (v1.7.1.0).
Judging by a quick Reflector look and the increase in size of the new DLL, you merged the Design DLL into the UI DLL now right?
Regards,
Mike
First of all, your Drop Down links to a customer table with no automatically incrementing indexing column. Mine does, so i use the Drop Down data value to point to that index (I do have a CustomerID field, but that's a string and I know for a fact that there are duplicates in my customers database (don't ask, their database is a larger mess than your average landfill), so i cannot use that).
So, the Drop Down Column defaulting to the first record in the table seems to be related to the fact that i bind the data value to an auto-incrementing index field.
Secondly, i cannot test your new DLL, it is missing the charting dll (v1.7.2.0), and it bombs out on the one i have (v1.7.1.0).
Judging by a quick Reflector look and the increase in size of the new DLL, you merged the Design DLL into the UI DLL now right?
Regards,
Mike
0

PureCode
Top achievements
Rank 2
answered on 06 Feb 2008, 08:14 PM
Oh, i should note, the EmptyListItem stuff does not work in the drop down in the EditForm either (using the 1324 version DLL, the new one doesn't work here).
Regards,
Mike
Regards,
Mike
0
Hi PureCode,
Yes, the Telerik.Web.Design.dll and Telerik.Web.UI.dll are merged into single assembly already. This will be announced officially for the Q3 2007 SP2 release of RadControls Prometheus, scheduled at the end of February.
You explained that you bind the GridDropDownColumn to auto-increment index field which contains DBNull values. Probably I do not get you idea correctly, however can you explain how you will be able to identify uniquely the values for that column (since there are duplicate customer ids) when you have null values in it? I believe that this auto-increment index column should not allow null values to avoid unexpected results on update/insert or other action. The concepts for configuring GridDropDownColumn successfully are listed here.
Finally, to address the error with the chart registry pointing to a wrong assembly, simply remove the chart handler from your web.config file (in case you do not intend to use RadChart Prometheus). Alternatively, update the chart version in your project with the assembly attached to this forum post (part of the internal build).
Best regards,
Stephen
the Telerik team
Instantly find answers to your questions at the new Telerik Support Center
Yes, the Telerik.Web.Design.dll and Telerik.Web.UI.dll are merged into single assembly already. This will be announced officially for the Q3 2007 SP2 release of RadControls Prometheus, scheduled at the end of February.
You explained that you bind the GridDropDownColumn to auto-increment index field which contains DBNull values. Probably I do not get you idea correctly, however can you explain how you will be able to identify uniquely the values for that column (since there are duplicate customer ids) when you have null values in it? I believe that this auto-increment index column should not allow null values to avoid unexpected results on update/insert or other action. The concepts for configuring GridDropDownColumn successfully are listed here.
Finally, to address the error with the chart registry pointing to a wrong assembly, simply remove the chart handler from your web.config file (in case you do not intend to use RadChart Prometheus). Alternatively, update the chart version in your project with the assembly attached to this forum post (part of the internal build).
Best regards,
Stephen
the Telerik team
Instantly find answers to your questions at the new Telerik Support Center
0

PureCode
Top achievements
Rank 2
answered on 08 Feb 2008, 07:26 PM
I think I maybe wasn't quite clear enough Stephen.
The DropDownColumn is defined as such:
DataField = CustomerCorporate, can be Null.
ListValueField = CustomerIndex, cannot be Null.
ListTextField = CustomerName, cannot be Null.
DataSourceID = CustomersSqlDataSource, the same data source that is bound to the RadGrid itself.
So, the drop down is filled with the customer names, and uses the CustomerIndex to fill in the CustomerCorporate, if needed. The relationship is meant to show what the 'main' customer is for 'sites' of that 'main' customer. Think of a corporation that owns a number of businesses or has multiple facilities around the nation. It is needed in case the corporation, for example, wants its facilities or sister-companies billed separately.
In summary, the drop down shows a list of all customers, and one can be picked to tell the application that there is a corporate account attached to another customer. This defaults to 'Null' and should display as such. Apparently, it being related in the database to the same table and the index field at that, makes it work incorrectly.
I'll make some screen shots shortly.
I will also reply to your message in the support ticket shortly. As mine was rather lengthy, so was yours, and I will obviously need to show what I mean with the issues i mentioned in the ticket (which is only a small number of what i have written down!).
Regards,
Mike
The DropDownColumn is defined as such:
DataField = CustomerCorporate, can be Null.
ListValueField = CustomerIndex, cannot be Null.
ListTextField = CustomerName, cannot be Null.
DataSourceID = CustomersSqlDataSource, the same data source that is bound to the RadGrid itself.
So, the drop down is filled with the customer names, and uses the CustomerIndex to fill in the CustomerCorporate, if needed. The relationship is meant to show what the 'main' customer is for 'sites' of that 'main' customer. Think of a corporation that owns a number of businesses or has multiple facilities around the nation. It is needed in case the corporation, for example, wants its facilities or sister-companies billed separately.
In summary, the drop down shows a list of all customers, and one can be picked to tell the application that there is a corporate account attached to another customer. This defaults to 'Null' and should display as such. Apparently, it being related in the database to the same table and the index field at that, makes it work incorrectly.
I'll make some screen shots shortly.
I will also reply to your message in the support ticket shortly. As mine was rather lengthy, so was yours, and I will obviously need to show what I mean with the issues i mentioned in the ticket (which is only a small number of what i have written down!).
Regards,
Mike
0

PureCode
Top achievements
Rank 2
answered on 08 Feb 2008, 08:47 PM
As promised, some screen shots as well as the DropDownColumn script. I created a new application and database from scratch in order to have as little 'crap' in there as possible, and got the below results (I imported the data from my main (and huge) test database).
First image, the contents of my test table. Note that Customer_Corporate contains all Null values.
Customer Table Contents
Second image, how it shows up in the RadGrid. Note that the Corporate Entity (that's the DropDownColumn for Customer_Corporation) column defaults to the first customer in the table.
Same table in RadGrid
Third image, the 'EditTemplate' of the RadGrid, showing that Corporate Entity defaults to the first customer in the table there as well in the Drop Down (EmptyListItem not working there, this is still the 1324 DLL).
Edit Template for the RadGrid
Here's the script for the DropDownColumn:
Not sure how helpful all of this is, but maybe it is of use to you. I am pretty sure this is related to me binding the DropDownColumn to an auto-incrementing index field but i can, of course, not be sure.
The Customer_Index field is defined as a column in RadGrid (no auto-generated columns), but not visible and not enabled. The data type for the DropDownColumn is set to Int32 but i have tried string as well, same result.
Regards,
Mike
First image, the contents of my test table. Note that Customer_Corporate contains all Null values.
Customer Table Contents
Second image, how it shows up in the RadGrid. Note that the Corporate Entity (that's the DropDownColumn for Customer_Corporation) column defaults to the first customer in the table.
Same table in RadGrid
Third image, the 'EditTemplate' of the RadGrid, showing that Corporate Entity defaults to the first customer in the table there as well in the Drop Down (EmptyListItem not working there, this is still the 1324 DLL).
Edit Template for the RadGrid
Here's the script for the DropDownColumn:
<telerik:GridDropDownColumn CurrentFilterFunction="NoFilter" |
DataField="Customer_Corporate" DataSourceID="CustomersSqlDataSource" |
DataType="System.Int32" EmptyListItemText="None" EmptyListItemValue="0" |
EnableEmptyListItem="True" FilterListOptions="VaryByDataType" |
ForceExtractValue="None" HeaderText="Corporate Entity" |
ListTextField="Customer_Name" ListValueField="Customer_Index" |
SortExpression="Customer_Name" UniqueName="Customer_Corporate"> |
</telerik:GridDropDownColumn> |
Not sure how helpful all of this is, but maybe it is of use to you. I am pretty sure this is related to me binding the DropDownColumn to an auto-incrementing index field but i can, of course, not be sure.
The Customer_Index field is defined as a column in RadGrid (no auto-generated columns), but not visible and not enabled. The data type for the DropDownColumn is set to Int32 but i have tried string as well, same result.
Regards,
Mike
0

PureCode
Top achievements
Rank 2
answered on 09 Feb 2008, 09:59 PM
Well, i TRIED to use the new DLLs you provided, were it not that it breaks my entire application.
Not good this..
Regards,
Mike
- RadScriptManager can no longer register WebResource.axd (even if it says it does).
- Everything ends up with a 'cc1' tag in the ASPX now, nicely breaking the default 'telerik' tag used for all controls.
- The 'cc1' tag declaration is never put in the ASPX either.
Not good this..
Regards,
Mike
0
Hi PureCode,
Thank you for the additional explanation and the images.
From the explanation about the GridDropDownColumn configuration with the underlying source fields, I do not think the dropdown relation will work for you. This is because the values from the DataField (containing null values) can not correspond to the values from the ListValueField (which is a prerequisite as explained in this topic). Hence you will need to revise your logic or change the data in the grid source to conform to the concepts from the help resource.
Unfortunately we have to admit that there are some design-time issues/glitches with RadControls Prometheus under VS2008 and we have been working on improving the install experience under Vista as well as the design-time in Visual Studio 2008.
I am happy to let you know that we have addressed all reported issues and things are much better now. We are currently running thorough QA on the internal build and it will be available for download with the scheduled SP2
in the last week of February. In order to facilitate your development process, I am sending our latest internal build which should eliminate the reported issues so far (plus the fix for the embedded resources and tag prefixes which appear to be due to the RadScriptManager control in the latest build).
In addition, you may be interested in upgrading your VS 2008 with the hotfix roll-up posted a few days ago by Scott Guthrie which addresses reported issues:
http://weblogs.asp.net/scottgu/archive/2008/02/08/vs-2008-web-development-hot-fix-roll-up-available.aspx
I hope that this detailed explanation and the hotfixes provided will help you eliminate the discrepancies you are currently having with RadGrid and RadControls Prometheus in general.
Best regards,
Stephen
the Telerik team
Instantly find answers to your questions at the new Telerik Support Center
Thank you for the additional explanation and the images.
From the explanation about the GridDropDownColumn configuration with the underlying source fields, I do not think the dropdown relation will work for you. This is because the values from the DataField (containing null values) can not correspond to the values from the ListValueField (which is a prerequisite as explained in this topic). Hence you will need to revise your logic or change the data in the grid source to conform to the concepts from the help resource.
Unfortunately we have to admit that there are some design-time issues/glitches with RadControls Prometheus under VS2008 and we have been working on improving the install experience under Vista as well as the design-time in Visual Studio 2008.
I am happy to let you know that we have addressed all reported issues and things are much better now. We are currently running thorough QA on the internal build and it will be available for download with the scheduled SP2
in the last week of February. In order to facilitate your development process, I am sending our latest internal build which should eliminate the reported issues so far (plus the fix for the embedded resources and tag prefixes which appear to be due to the RadScriptManager control in the latest build).
In addition, you may be interested in upgrading your VS 2008 with the hotfix roll-up posted a few days ago by Scott Guthrie which addresses reported issues:
http://weblogs.asp.net/scottgu/archive/2008/02/08/vs-2008-web-development-hot-fix-roll-up-available.aspx
I hope that this detailed explanation and the hotfixes provided will help you eliminate the discrepancies you are currently having with RadGrid and RadControls Prometheus in general.
Best regards,
Stephen
the Telerik team
Instantly find answers to your questions at the new Telerik Support Center
0

PureCode
Top achievements
Rank 2
answered on 12 Feb 2008, 09:09 PM
Hi,
I replied with a possible 'fix' for my DropDownColumn issue in the support ticket. Lets just stay with the ticket for now regarding this since it's a waste of both our time to have to monitor two separate threads.
Regards,
Mike
I replied with a possible 'fix' for my DropDownColumn issue in the support ticket. Lets just stay with the ticket for now regarding this since it's a waste of both our time to have to monitor two separate threads.
Regards,
Mike