The code is basicly from the demo example, however, update results in error: ...object reference not set to an instance of an object. any help is appreciated.
VB:
And the grid:
And the datasource:
VB:
| If e.CommandName = "UpdateRating" Then |
| Dim item As GridEditableItem = TryCast(e.Item, GridEditableItem) |
| Dim values As New Hashtable() |
| item.ExtractValues(values) |
| values("ChangeRequestID") = item.GetDataKeyValue("ChangeRequestID") |
| values("Completed") = Int16.Parse(values("Completed")) |
| values("Accepted") = Int16.Parse(values("Accepted")) |
| values("Reviewed") = Int16.Parse(values("Reviewed")) |
| For Each entry As DictionaryEntry In values |
| SqlDataSource1.UpdateParameters(entry.Key.ToString()).DefaultValue = entry.Value.ToString() |
| Next |
| SqlDataSource1.Update() |
| End If |
And the grid:
| <telerik:RadGrid ID="RadGrid1" runat="server" GridLines="None" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" ShowStatusBar="True" |
| AllowAutomaticInserts="True" AllowAutomaticUpdates="True" OnItemCommand="RadGrid1_ItemCommand" Height="900px" PageSize="25" Skin="Black" DataSourceID="SqlDataSource1"> |
| <PagerStyle Mode="Slider" /> |
| <MasterTableView CommandItemDisplay="Top" DataKeyNames="ChangeRequestID" AllowMultiColumnSorting="True" DataSourceID="SqlDataSource1" AllowFilteringByColumn="True"> |
| <Columns> |
| <telerik:GridButtonColumn ButtonType="ImageButton" ImageUrl="Images/Update.gif" CommandName="UpdateRating" UniqueName="UpdateColumn" HeaderText="Update" /> |
| <telerik:GridEditCommandColumn ButtonType="ImageButton" EditImageUrl="Images/Edit.gif" HeaderText="Edit" /> |
| <telerik:GridRatingColumn DataField="Accepted" UniqueName="Accepted" Precision="Item" ReadOnly="False" ItemCount="1" HeaderText="Accepted" AllowRatingInViewMode="true" /> |
| <telerik:GridRatingColumn Datafield="Reviewed" UniqueName="Reviewed" Precision="Item" ReadOnly="False" ItemCount="1" HeaderText="Reviewed" AllowRatingInViewMode="true" /> |
| <telerik:GridRatingColumn Datafield="Completed" UniqueName="Completed" Precision="Item" ReadOnly="False" ItemCount="1" HeaderText="Completed" AllowRatingInViewMode="true" /> |
| <telerik:GridRatingColumn Datafield="Priority" UniqueName="Priority" Precision="Item" ReadOnly="false" ItemCount="5" HeaderText="Priority" AllowRatingInViewMode="false" /> |
| <telerik:GridBoundColumn DataField="ChangeRequestID" UniqueName="ChangeRequestID" HeaderText="ID" Visible="false" /> |
| </Columns> |
| <EditFormSettings EditFormType="Template"> |
| <EditColumn UniqueName="EditCommandColumn1" /> |
| <FormTemplate> |
| .... |
And the datasource:
| <asp:SqlDataSource ID="SqlDataSource1" DataSourceMode="DataSet" runat="server" ConnectionString="<%$ ConnectionStrings:hldbConnectionString %>" |
| InsertCommand="INSERT INTO ChangeRequestTracker(Accepted, Completed, Reviewed, Priority) VALUES (0, 0, 0, @Priority)" |
| SelectCommand="SELECT * FROM ChangeRequestTracker ORDER BY ChangeRequestID DESC" |
| UpdateCommand="UPDATE ChangeRequestTracker SET Priority=@Priority, Accepted=@Accepted, Reviewed=@Reviewed, Completed=@Completed WHERE ChangeRequestID = @ChangeRequestID"> |
| <UpdateParameters> |
| <asp:Parameter Name="ChangeRequestID"/> |
| <asp:Parameter Name="Priority"/> |
| <asp:Parameter Name="Accepted"/> |
| <asp:Parameter Name="Reviewed"/> |
| <asp:Parameter Name="Completed"/> |
| </UpdateParameters> |
| <InsertParameters> |
| <asp:Parameter Name="Priority"/> |
| <asp:Parameter Name="Accepted"/> |
| <asp:Parameter Name="Reviewed"/> |
| <asp:Parameter Name="Completed"/> |
| </InsertParameters> |
| </asp:SqlDataSource> |