Hi all,
My scenario is as follows. Instead of deleting a record, I would like to Update two fields. The first is "UpdatedBy", which holds a value representing the deleting user. The second is "Deleted", the flag I use to ascertain whether a record has been removed from the system. I would like to do this with a custom DeleteCommand in my SqlDataSource. I have it successfully working in 1 RadGrid, but in another I am getting errors that I need to declare my @Scalar variables. All parameters I use I have declared, but for some reason it just wont recognize them.
This is my working RadGrid:
01.<asp:SqlDataSource ID="StaffSitesDataSource" runat="server" ConnectionString='<%$ ConnectionStrings:MainConnection %>' DeleteCommand=" UPDATE [SitesStaff] SET [UpdatedBy] = @UpdatedBy WHERE [SitesStaffId] = @SitesStaffId; DELETE FROM [SitesStaff] WHERE [SitesStaffId] = @SitesStaffId" InsertCommand="INSERT INTO [SitesStaff] ([SiteId], [StaffId], [UpdatedBy]) VALUES (@SiteId, @StaffId, @UpdatedBy)" SelectCommand="SELECT t0.SitesStaffId, t1.SiteName FROM [SitesStaff] t0 INNER JOIN Sites t1 ON t0.SiteId = t1.SiteId WHERE ([StaffId] = @StaffId)">02. <SelectParameters>03. <asp:ControlParameter ControlID="hdnFldSelectedStaffId" PropertyName="Value" Name="StaffId" Type="Int32"></asp:ControlParameter>04. </SelectParameters>05. <DeleteParameters>06. <asp:Parameter Name="SitesStaffId" Type="Int32"></asp:Parameter>07. <asp:Parameter Name="UpdatedBy" Type="String"></asp:Parameter>08. </DeleteParameters>09. <InsertParameters>10. <asp:Parameter Name="SiteId" Type="Int32"></asp:Parameter>11. <asp:ControlParameter ControlID="hdnFldSelectedStaffId" PropertyName="Value" Name="StaffId" Type="Int32"></asp:ControlParameter>12. <asp:Parameter Name="UpdatedBy" Type="String"></asp:Parameter>13. </InsertParameters>14. </asp:SqlDataSource>15. 16. <telerik:RadGrid ID="rgStaffSites" runat="server" AllowSorting="True" Skin="Windows7" Font-Size="9pt" AutoGenerateDeleteColumn="true" DataSourceID="StaffSitesDataSource" AllowMultiRowSelection="true" OnInsertCommand="rgStaffSites_InsertCommand">17. <MasterTableView AutoGenerateColumns="False" DataSourceID="StaffSitesDataSource" DataKeyNames="SitesStaffId" AllowAutomaticDeletes="true" AllowAutomaticUpdates="false" AllowAutomaticInserts="false" EditMode="PopUp" CommandItemDisplay="Top">18. <CommandItemTemplate>19. <telerik:RadToolBar RenderMode="Lightweight" ID="rtbRgStaffSites" runat="server" Skin="Windows7" AutoPostBack="true">20. <Items>21. <telerik:RadToolBarButton Text="Add new" CommandName="InitInsert" ImageUrl="~/Images/AddRecord.gif" Visible='<%# Not rgStaffSites.MasterTableView.IsItemInserted %>'></telerik:RadToolBarButton>22. <telerik:RadToolBarButton Text="Delete selected Sites" CommandName="DeleteSelected" ImageUrl="~/Images/Delete.gif"></telerik:RadToolBarButton>23. <telerik:RadToolBarButton Text="Refresh Sites" CommandName="RebindGrid" ImageUrl="~/Images/Refresh.gif"></telerik:RadToolBarButton>24. <telerik:RadToolBarButton Value="UserName" OuterCssClass="rightButton">25. <ItemTemplate>26. <asp:Label ID="lblSelectedUserName2" runat="server"></asp:Label>27. </ItemTemplate>28. </telerik:RadToolBarButton>29. </Items>30. </telerik:RadToolBar>31. </CommandItemTemplate>32. <EditFormSettings InsertCaption="Add Site">33. <PopUpSettings CloseButtonToolTip="Cancel Add" Modal="false" OverflowPosition="Center" />34. <EditColumn ButtonType="ImageButton"></EditColumn>35. </EditFormSettings>36. <Columns>37. <telerik:GridClientSelectColumn UniqueName="SelectColumn" ItemStyle-Width="25px" HeaderStyle-Width="25px"></telerik:GridClientSelectColumn>38. <telerik:GridBoundColumn DataField="SitesStaffId" ReadOnly="True" Display="false" Visible="true" HeaderText="SitesStaffId" SortExpression="SitesStaffId" UniqueName="SitesStaffId" DataType="System.Int32" FilterControlAltText="Filter SitesStaffId column"></telerik:GridBoundColumn>39. <telerik:GridTemplateColumn HeaderText="Site" UniqueName="SiteName" DataField="SiteName" FilterControlAltText="Filter SiteName column" ItemStyle-HorizontalAlign="Left">40. <ItemTemplate>41. <%# Eval("SiteName") %>42. </ItemTemplate>43. <EditItemTemplate>44. <telerik:RadComboBox ID="rgStaffSites_rcbSites" runat="server" DataSourceID="SitesDataSource" DataTextField="SiteName" DataValueField="SiteId" Skin="Windows7" CheckBoxes="true"></telerik:RadComboBox>45. </EditItemTemplate>46. </telerik:GridTemplateColumn>47. </Columns>48. </MasterTableView>49. <ClientSettings>50. <ClientEvents OnPopUpShowing="PopUpShowing" />51. <Selecting AllowRowSelect="true" EnableDragToSelectRows="true" />52. </ClientSettings>53. </telerik:RadGrid>
This is the RadGrid I cant get to work:
01.<asp:SqlDataSource ID="TasksCollaboratorsDataSource" runat="server" ConnectionString='<%$ ConnectionStrings:MainConnection %>' DeleteCommandType="Text" DeleteCommand="UPDATE [TasksSharing] SET [UpdatedBy] = @UpdatedBy, [Deleted] = @Deleted WHERE [ShareId] = @ShareId" InsertCommand="INSERT INTO [TasksSharing] ([TaskId], [TimeShared], [SharedBy], [SharedWith], [Implementing], [Accountable], [AccessLevel], [Deleted], [UpdatedBy]) VALUES (@TaskId, @TimeShared, @SharedBy, @SharedWith, @Implementing, @Accountable, @AccessLevel, @Deleted, @UpdatedBy)" SelectCommand="SELECT * FROM [TasksSharing] WHERE ([TaskId] = @TaskId AND [Deleted] = @Deleted)" UpdateCommand="UPDATE [TasksSharing] SET [UpdatedBy] = @UpdatedBy, [Implementing] = @Implementing, [Accountable] = @Accountable, [AccessLevel] = @AccessLevel WHERE [ShareId] = @ShareId">02. <DeleteParameters> 03. <asp:Parameter Name="UpdatedBy" Type="String"></asp:Parameter>04. <asp:Parameter Name="Deleted" Type="Boolean" DefaultValue="True"></asp:Parameter>05. <asp:Parameter Name="ShareId" Type="Int32"></asp:Parameter>06. </DeleteParameters>07. <InsertParameters>08. <asp:Parameter Name="TaskId" Type="Int32"></asp:Parameter>09. <asp:Parameter Name="TimeShared" Type="DateTime"></asp:Parameter>10. <asp:Parameter Name="SharedBy" Type="String"></asp:Parameter>11. <asp:Parameter Name="SharedWith" Type="String"></asp:Parameter>12. <asp:Parameter Name="Implementing" Type="Boolean"></asp:Parameter>13. <asp:Parameter Name="Accountable" Type="Boolean"></asp:Parameter>14. <asp:Parameter Name="AccessLevel" Type="String"></asp:Parameter>15. <asp:Parameter Name="UpdatedBy" Type="String"></asp:Parameter>16. <asp:Parameter Name="Deleted" Type="Boolean" DefaultValue="True"></asp:Parameter>17. </InsertParameters>18. <SelectParameters>19. <asp:ControlParameter Name="TaskID" ControlID="hdnFldSelectedTaskID" Type="Int32" DefaultValue="0" ConvertEmptyStringToNull="true"></asp:ControlParameter>20. <asp:Parameter Name="Deleted" Type="Boolean" DefaultValue="False"></asp:Parameter>21. </SelectParameters>22. <UpdateParameters>23. <asp:Parameter Name="Implementing" Type="Boolean"></asp:Parameter>24. <asp:Parameter Name="Accountable" Type="Boolean"></asp:Parameter>25. <asp:Parameter Name="AccessLevel" Type="String"></asp:Parameter>26. <asp:Parameter Name="ShareId" Type="Int32"></asp:Parameter>27. <asp:Parameter Name="UpdatedBy" Type="String"></asp:Parameter>28. </UpdateParameters>29. </asp:SqlDataSource>30. 31. 32. <telerik:RadGrid ID="rgTasksCollaborators" runat="server" DataSourceID="TasksCollaboratorsDataSource" AllowSorting="True" AllowFilteringByColumn="True" Skin="Windows7"33. AllowAutomaticDeletes="true" AllowAutomaticInserts="false" AllowAutomaticUpdates="false" AllowMultiRowSelection="true" AutoGenerateDeleteColumn="true" OnItemCommand="rgCollaborators_ItemCommand">34. <ClientSettings>35. <Selecting AllowRowSelect="True" EnableDragToSelectRows="true"></Selecting>36. </ClientSettings>37. <MasterTableView DataSourceID="TasksCollaboratorsDataSource" AutoGenerateColumns="False" DataKeyNames="ShareId" CommandItemDisplay="Top">38. <CommandItemTemplate>39. <telerik:RadToolBar ID="rtbTasksCollaborators" RenderMode="Lightweight" runat="server" Skin="Windows7" AutoPostBack="true">40. <Items>41. <telerik:RadToolBarButton Text="Add Collaborator" CommandName="InitInsert" ImageUrl="~/Images/AddRecord.gif"></telerik:RadToolBarButton>42. <telerik:RadToolBarButton Text="Remove Selected Collaborators" CommandName="DeleteSelected" ImageUrl="~/Images/Delete.gif"></telerik:RadToolBarButton>43. <telerik:RadToolBarButton Text="Refresh Colaborators" CommandName="RebindGrid" ImageUrl="~/Images/Refresh.gif" OuterCssClass="rightButton"></telerik:RadToolBarButton>44. </Items>45. </telerik:RadToolBar>46. </CommandItemTemplate>47. <ItemStyle CssClass="defaultRadGridItem" />48. <AlternatingItemStyle CssClass="defaultRadGridItem" />49. <EditFormSettings>50. <EditColumn ButtonType="ImageButton"></EditColumn>51. <PopUpSettings Width="600px" CloseButtonToolTip="Cancel" />52. <FormTemplate>53. </FormTemplate>54. </EditFormSettings>55. <Columns>56. <telerik:GridClientSelectColumn UniqueName="selectColumn"></telerik:GridClientSelectColumn>57. <telerik:GridEditCommandColumn UniqueName="editColumn"></telerik:GridEditCommandColumn>58. <telerik:GridBoundColumn DataField="ShareId" ReadOnly="True" Display="false" HeaderText="ShareId" SortExpression="ShareId" UniqueName="ShareId" DataType="System.Int32" FilterControlAltText="Filter ShareId column"></telerik:GridBoundColumn>59. <telerik:GridBoundColumn DataField="TaskId" Display="false" HeaderText="TaskId" SortExpression="TaskId" UniqueName="TaskId" DataType="System.Int32" FilterControlAltText="Filter TaskId column"></telerik:GridBoundColumn>60. <telerik:GridDateTimeColumn DataField="TimeShared" HeaderText="Time Shared" SortExpression="TimeShared" UniqueName="TimeShared" DataType="System.DateTime" FilterControlAltText="Filter TimeShared column"></telerik:GridDateTimeColumn>61. <telerik:GridBoundColumn DataField="SharedBy" HeaderText="Shared By" SortExpression="SharedBy" UniqueName="SharedBy" FilterControlAltText="Filter SharedBy column"></telerik:GridBoundColumn>62. <telerik:GridBoundColumn DataField="SharedWith" HeaderText="Shared With" SortExpression="SharedWith" UniqueName="SharedWith" FilterControlAltText="Filter SharedWith column"></telerik:GridBoundColumn>63. <telerik:GridCheckBoxColumn DataField="Implementing" HeaderText="Implementing" SortExpression="Implementing" UniqueName="Implementing" DataType="System.Boolean" FilterControlAltText="Filter Implementing column"></telerik:GridCheckBoxColumn>64. <telerik:GridCheckBoxColumn DataField="Accountable" HeaderText="Accountable" SortExpression="Accountable" UniqueName="Accountable" DataType="System.Boolean" FilterControlAltText="Filter Accountable column"></telerik:GridCheckBoxColumn>65. <telerik:GridDropDownColumn DataField="AccessLevel" HeaderText="Access Level" SortExpression="AccessLevel" UniqueName="AccessLevel" FilterControlAltText="Filter AccessLevel column" DataSourceID="AccessLevelsDatasource" ListTextField="ItemValue" ListValueField="ItemId"></telerik:GridDropDownColumn>66. <telerik:GridCheckBoxColumn DataField="Deleted" Display="false" HeaderText="Deleted" SortExpression="Deleted" UniqueName="Deleted" DataType="System.Boolean" FilterControlAltText="Filter Deleted column"></telerik:GridCheckBoxColumn>67. <telerik:GridBoundColumn DataField="UpdatedBy" Display="false" HeaderText="UpdatedBy" SortExpression="UpdatedBy" UniqueName="UpdatedBy" FilterControlAltText="Filter UpdatedBy column"></telerik:GridBoundColumn>68. </Columns>69. </MasterTableView>70. </telerik:RadGrid>
I feel like it is something obvious that I am not seeing. Any help would be greatly appreciated.
Thanks,
Mike
