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> |