I tried your example application with automatic database update you provided in this article: databaseupdate.
It works as long as I set the TransferMode="move". As soon as I try to copy the data with TransferMode="copy", I get a System.NullReferenceException.
The example code is:
It works as long as I set the TransferMode="move". As soon as I try to copy the data with TransferMode="copy", I get a System.NullReferenceException.
| [NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.] |
| Telerik.Web.UI.RadListBoxItem.ExtractValues() +10 |
| Telerik.Web.UI.RadListBox.PerformInsert(IList`1 items, Int32 position) +251 |
| Telerik.Web.UI.RadListBox.PerformTransfer(RadListBox sourceListBox, RadListBox destinationListBox, IList`1 items) +852 |
| Telerik.Web.UI.RadListBox.Transfer(IList`1 itemsToTransfer, RadListBox sourceListBox, RadListBox destinationListBox) +184 |
| Telerik.Web.UI.RadListBox.OnTransfer(ListBoxPostBackCommand command, Func`2 callback) +137 |
| Telerik.Web.UI.RadListBox.RaisePostBackEvent(String eventArgument) +292 |
| Telerik.Web.UI.RadListBox.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10 |
| System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13 |
| System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +175 |
| System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565 |
The example code is:
| <asp:ScriptManager runat="server" ID="ScriptManager1"> |
| </asp:ScriptManager> |
| <div> |
| <telerik:RadListBox |
| runat="server" |
| ID="RadListBox1" |
| AllowTransfer="True" |
| TransferMode="Copy" |
| AllowDelete="false" |
| AutoPostBackOnTransfer="true" |
| AllowAutomaticUpdates="true" |
| TransferToID="RadListBox2" |
| DataSourceID="SqlDataSource1" |
| DataKeyField="ID" |
| DataTextField="Value" |
| DataValueField="ID"> |
| </telerik:RadListBox> |
| <telerik:RadListBox ID="RadListBox2" runat="server" |
| AllowAutomaticUpdates="True" |
| DataKeyField="ID" |
| DataSourceID="SqlDataSource2" |
| DataTextField="Value" |
| DataValueField="ID"> |
| </telerik:RadListBox> |
| <asp:SqlDataSource ID="SqlDataSource1" runat="server" |
| ConnectionString="<%$ ConnectionStrings:TelerikConnectionString %>" |
| SelectCommand="SELECT * FROM [Table1]" |
| ConflictDetection="CompareAllValues" |
| DeleteCommand="DELETE FROM [Table1] WHERE [ID] = @original_ID AND (([Value] = @original_Value) OR ([Value] IS NULL AND @original_Value IS NULL))" |
| InsertCommand="INSERT INTO [Table1] ([Value]) VALUES (@Value)" |
| OldValuesParameterFormatString="original_{0}" |
| ondeleting="SqlDataSource1_Deleting" |
| UpdateCommand="UPDATE [Table1] SET [Value] = @Value WHERE [ID] = @original_ID AND (([Value] = @original_Value) OR ([Value] IS NULL AND @original_Value IS NULL))"> |
| <DeleteParameters> |
| <asp:Parameter Name="original_ID" Type="Int32" /> |
| <asp:Parameter Name="original_Value" Type="String" /> |
| </DeleteParameters> |
| <UpdateParameters> |
| <asp:Parameter Name="Value" Type="String" /> |
| <asp:Parameter Name="original_ID" Type="Int32" /> |
| <asp:Parameter Name="original_Value" Type="String" /> |
| </UpdateParameters> |
| <InsertParameters> |
| <asp:Parameter Name="Value" Type="String" /> |
| </InsertParameters> |
| </asp:SqlDataSource> |
| <asp:SqlDataSource ID="SqlDataSource2" runat="server" |
| ConflictDetection="CompareAllValues" |
| ConnectionString="<%$ ConnectionStrings:TelerikConnectionString %>" |
| DeleteCommand="DELETE FROM [Table2] WHERE [ID] = @original_ID AND (([Value] = @original_Value) OR ([Value] IS NULL AND @original_Value IS NULL))" |
| InsertCommand="INSERT INTO [Table2] ([Value]) VALUES (@Value)" |
| OldValuesParameterFormatString="original_{0}" |
| SelectCommand="SELECT * FROM [Table2]" |
| UpdateCommand="UPDATE [Table2] SET [Value] = @Value WHERE [ID] = @original_ID AND (([Value] = @original_Value) OR ([Value] IS NULL AND @original_Value IS NULL))"> |
| <DeleteParameters> |
| <asp:Parameter Name="original_ID" Type="Int32" /> |
| <asp:Parameter Name="original_Value" Type="String" /> |
| </DeleteParameters> |
| <UpdateParameters> |
| <asp:Parameter Name="Value" Type="String" /> |
| <asp:Parameter Name="original_ID" Type="Int32" /> |
| <asp:Parameter Name="original_Value" Type="String" /> |
| </UpdateParameters> |
| <InsertParameters> |
| <asp:Parameter Name="Value" Type="String" /> |
| </InsertParameters> |
| </asp:SqlDataSource> |