Hi,
I'm having issues with Databinding and finding item controls in my DataGrid.
I'm using Radcontrols for ASP.NET Ajax Q2 2008.
Here's what I have.
1.I have a grid that I load in edit mode with NeedDS databinding.
2.It has a GridClientSelectColumn for selecting multiple editable rows.
3.On click of CommandItemTemplate button, the selected items are to be retrieved on server side for update/insert.
4.I also have to Insert a record with Add New Record command item template.
I have 1 and 2 working.
3 and 4 dont work since the datagrid.datasource becomes nothing in update_command and Insert_command events. How do I retrieve the edited data?
Please help!
Heres my code.
I'm having issues with Databinding and finding item controls in my DataGrid.
I'm using Radcontrols for ASP.NET Ajax Q2 2008.
Here's what I have.
1.I have a grid that I load in edit mode with NeedDS databinding.
2.It has a GridClientSelectColumn for selecting multiple editable rows.
3.On click of CommandItemTemplate button, the selected items are to be retrieved on server side for update/insert.
4.I also have to Insert a record with Add New Record command item template.
I have 1 and 2 working.
3 and 4 dont work since the datagrid.datasource becomes nothing in update_command and Insert_command events. How do I retrieve the edited data?
Please help!
Heres my code.
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="GridTrial._Default" %> | |
<%@ Register TagPrefix="telerik" Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" %> | |
<%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" | |
Namespace="System.Web.UI" TagPrefix="asp" %> | |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | |
<html xmlns="http://www.w3.org/1999/xhtml" > | |
<head runat="server"> | |
<title>Untitled Page</title> | |
</head> | |
<body> | |
<form id="form1" runat="server"> | |
<asp:ScriptManager ID="ScriptManager1" runat="server" AsyncPostBackTimeout ="3600000"></asp:ScriptManager> | |
<div> | |
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> | |
<AjaxSettings> | |
<telerik:AjaxSetting AjaxControlID="RADGResults"> | |
<UpdatedControls> | |
<telerik:AjaxUpdatedControl ControlID="RADGResults" /> | |
</UpdatedControls> | |
</telerik:AjaxSetting> | |
</AjaxSettings> | |
</telerik:RadAjaxManager> | |
<telerik:RadGrid ID="RADGResults" MasterTableView-Width="100%" runat="server" Skin="NCCI" | |
AllowSorting="false" EnableEmbeddedSkins="false" AllowMultiRowSelection="true" | |
AllowMultiRowEdit="true" AutoGenerateColumns="false" | |
GridLines="None" > | |
<ClientSettings> | |
<Selecting AllowRowSelect="True" EnableDragToSelectRows="false"/> | |
<Scrolling AllowScroll="True" /> | |
</ClientSettings> | |
<SelectedItemStyle BackColor="gray" /> | |
<MasterTableView EditMode="InPlace" CommandItemDisplay="top" > | |
<ItemStyle CssClass="MainTableEvenColumnCorp"/> | |
<HeaderStyle CssClass="ms-formlabel MainTableHeaderCORP" Font-Size="x-Small"></HeaderStyle> | |
<AlternatingitemStyle CssClass="MainTableOddColumnCorp"/> | |
<Columns> | |
<telerik:GridClientSelectColumn UniqueName="ClientSelectColumn" ItemStyle-ForeColor="beige"/> | |
<telerik:GridTemplateColumn HeaderText="Report Number" UniqueName="ReportNumber"> | |
<ItemStyle HorizontalAlign="Center" /> | |
<HeaderStyle HorizontalAlign="Center" /> | |
<ItemTemplate> | |
<asp:Label id="txtReport" runat="server" Text='<%# DataBinder.Eval(Container,"DataItem.Report_Number") %>'></asp:Label> | |
</ItemTemplate> | |
<EditItemTemplate> | |
<asp:Label id="txtReport" runat="server" Text='<%# DataBinder.Eval(Container,"DataItem.Report_Number") %>'></asp:Label> | |
<asp:DropDownList id="ddlReport" runat="server" DataTextField="Report_Number" visible="false" > | |
<asp:ListItem Value='1' ></asp:ListItem> | |
<asp:ListItem Value='2' ></asp:ListItem> | |
<asp:ListItem Value='3' ></asp:ListItem> | |
<asp:ListItem Value='4' ></asp:ListItem> | |
<asp:ListItem Value='5' ></asp:ListItem> | |
</asp:DropDownList> | |
</EditItemTemplate> | |
</telerik:GridTemplateColumn> | |
<telerik:GridBoundColumn DataField ="Number Of Risks" HeaderText ="Number Of Risks" UniqueName="NumberOfRisks" > | |
<ItemStyle HorizontalAlign="Center" /> | |
<HeaderStyle HorizontalAlign="Center" /> | |
</telerik:GridBoundColumn> | |
</telerik:GridTemplateColumn> | |
</Columns > | |
<CommandItemStyle HorizontalAlign="Center" /> | |
<CommandItemTemplate> | |
<asp:LinkButton ID="btnUpdateEdited" runat="server" CommandName="UpdateEdited" Visible='<%# RADGResults.EditIndexes.Count > 0 %>'><img style="border:0px" alt="" src="../media/Update.gif" /> Update Customers</asp:LinkButton> | |
<asp:LinkButton ID="btnCancel" runat="server" CommandName="CancelAll" Visible='<%# RADGResults.EditIndexes.Count > 0 or RADGResults.MasterTableView.IsItemInserted %>'><img style="border:0px" alt="" src="../media/Cancel.gif" /> Cancel editing</asp:LinkButton> | |
<asp:LinkButton ID="LinkButton2" runat="server" CommandName="InitInsert" Visible='<%# not RADGResults.MasterTableView.IsItemInserted %>'><img style="border:0px" alt="" src="../media/AddRecord.gif" /> Add new Customer</asp:LinkButton> | |
<asp:LinkButton ID="LinkButton3" runat="server" CommandName="PerformInsert" Visible='<%# RADGResults.MasterTableView.IsItemInserted %>'><img style="border:0px" alt="" src="../media/AddRecord.gif" /> Add this Customer</asp:LinkButton> | |
<asp:LinkButton ID="LinkButton1" OnClientClick="javascript:return confirm('Delete all selected customers?')" | |
runat= "server" CommandName="DeleteSelected"><img style="border:0px" alt="" src="../media/Delete.gif" /> Delete Selected Customers</asp:LinkButton> | |
<asp:LinkButton ID="LinkButton4" runat="server" CommandName="Re bindGrid"><img style="border:0px" alt="" src="../media/Refresh.gif" /> Refresh customer list</asp:LinkButton> | |
<br/> | |
</CommandItemTemplate> | |
</MasterTableView> | |
</telerik:RadGrid> | |
</div> | |
</form> | |
</body> | |
</html> | |
In the code behind | |
Partial Public Class _Default | |
Inherits System.Web.UI.Page | |
Public DBGrid As New GridBind | |
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load | |
' changes grid into inline edit mode without rebind | |
Dim i As Integer | |
For i = 0 To RADGResults.PageSize - 1 | |
RADGResults.EditIndexes.Add(i) | |
Next i | |
End Sub | |
Private Sub RADGResults_NeedDataSource(ByVal source As Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) Handles RADGResults.NeedDataSource | |
RADGResults.DataSource = Me.GridSource | |
End Sub | |
Private ReadOnly Property GridSource() As DataTable
Get Else Dim table As New DataTable() End Get Protected Function loadgrid() As DataTable Dim dt As New DataTable |
|
Private Sub RADGResults_UpdateCommand(ByVal source As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles RADGResults.UpdateCommand | |
'gridclientselectcolumn selected for multiple updates | |
For Each dataitem As Telerik.Web.UI.GridEditableItem In RADGResults.SelectedItems | |
' For Each dataitem As Telerik.Web.UI.GridDataItem In RADGResults.MasterTableView.Items | |
' For Each dataitem As Telerik.Web.UI.GridEditableItem In RADGResults.MasterTableView.Items 'even tried Editable Item | |
Dim strsql As String | |
'the grid.datasource is now nothing | |
strsql = dataitem("Report_Number").Text 'cannot retrieve any edittemplate/itemtemplate/boundcolumn values | |
Next | |
End Sub | |
Private Sub RADGResults_InsertCommand(ByVal source As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles RADGResults.InsertCommand | |
Dim insertedItem As Telerik.Web.UI.GridEditFormInsertItem = DirectCast(e.Item, Telerik.Web.UI.GridEditFormInsertItem) | |
'the grid.datasource is now nothing | |
Dim risk As String = (TryCast(insertedItem("Report_Number").Controls(0), TextBox)).Text 'cannot retrieve the inserted edittemplate/itemtemplate/boundcolumn values | |
End Sub | |
End Class | |