However, when I put a Radgrid inside a ASPxPageControl and hit the Save button, the btnSave_OnClick shows that the row count for the Radgrid is zero (see RadgridFails code).
What I'm trying to do is simply loop through the grid after checking/unchecking checkboxes and committing those values to the db. Incidentally, I get the same behavior with a regular asp:GridView. It works when inside an asp:Menu, but not when inside a ASPxPageControl. Any help is much appreciated!
<body> <form id="form1" runat="server"> <div> <asp:Menu ID="menuScheduleActivityEditor" Width="350px" runat="server" Orientation="Horizontal" OnMenuItemClick="menuScheduleActivityEditor_MenuItemClick" StaticEnableDefaultPopOutImage="false" Font-Bold="True"> <Items> <asp:MenuItem Text="Checklist" Value="0" Selected="True"></asp:MenuItem> <asp:MenuItem Text="Notes" Value="1"></asp:MenuItem> </Items> </asp:Menu> <br /> <asp:MultiView ID="multiviewScheduleActivityEditor" runat="server" ActiveViewIndex="0"> <asp:View ID="viewDetails" runat="server"> <asp:Button ID="btnSave" runat="server" Text="Save Checked Items" OnClick="btnSave_OnClick" /> <br /> <radG:RadGrid ID="rgChecklistItems" AllowMultiRowSelection="True" runat="server" AllowSorting="True" GridLines="None"> <MasterTableView AutoGenerateColumns="False" DataKeyNames="ScheduleActivityChecklistItemID"> <RowIndicatorColumn Visible="False"> <HeaderStyle Width="20px"></HeaderStyle> </RowIndicatorColumn> <ExpandCollapseColumn Visible="False"> <HeaderStyle Width="19px"></HeaderStyle> </ExpandCollapseColumn> <Columns> <radG:GridTemplateColumn HeaderText="Complete" UniqueName="Complete"> <ItemTemplate> <asp:CheckBox ID="chboxComplete" runat="server" Checked='<%# Bind("Complete") %>' Enabled="true" /> </ItemTemplate> <EditItemTemplate> <asp:CheckBox ID="chboxComplete" runat="server" Checked='<%# Bind("Complete") %>' /> </EditItemTemplate> </radG:GridTemplateColumn> <radG:GridBoundColumn UniqueName="ScheduleActivityChecklistName" HeaderText="Item" DataField="ScheduleActivityChecklistName"> <ItemStyle HorizontalAlign="Left" /> </radG:GridBoundColumn> <radG:GridBoundColumn UniqueName="ScheduleActivityChecklistID" HeaderText="saCID" DataField="ScheduleActivityChecklistID"> <ItemStyle HorizontalAlign="Left" /> </radG:GridBoundColumn> <radG:GridBoundColumn UniqueName="ChecklistID" HeaderText="CID" DataField="ChecklistID"> <ItemStyle HorizontalAlign="Left" /> </radG:GridBoundColumn> <radG:GridBoundColumn UniqueName="ScheduleActivityChecklistItemID" HeaderText="saCIID" DataField="ScheduleActivityChecklistItemID"> <ItemStyle HorizontalAlign="Left" /> </radG:GridBoundColumn> </Columns> <PagerStyle PagerTextFormat="Pages: {4} | Displaying page {0} of {1}, items {2} to {3} of {5}." Mode="NumericPages" /> <GroupHeaderItemStyle BackColor="LightSteelBlue" /> <AlternatingItemStyle BackColor="#E0E0E0" /> <ItemStyle BackColor="White" /> </MasterTableView> <ClientSettings> <Selecting AllowRowSelect="True" /> </ClientSettings> <HeaderStyle Wrap="True" HorizontalAlign="Center" VerticalAlign="Middle" /> </radG:RadGrid> </asp:View> <asp:View ID="viewNotes" runat="server"> NOTES </asp:View> </asp:MultiView> </div> </form> </body>public partial class RadgridWorks : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DoWork_ActivityDetail(); } } public void DoWork_ActivityDetail() { int scheduleActivityID = 707; string signature = "41aa56f1-a1c4-40c7-9f8c-97c262fc5a45"; // --------------------------------------------- // CHECKLIST TAB // --------------------------------------------- rgChecklistItems.DataSource = GetScheduleActivityChecklistItems(signature, scheduleActivityID); rgChecklistItems.DataBind(); int ab = rgChecklistItems.Items.Count; } protected void btnSave_OnClick(object sender, EventArgs e) { string signature = "41aa56f1-a1c4-40c7-9f8c-97c262fc5a45"; string portalUserID = "ADMIN"; int scheduleActivityID = 707; bool AutoComplete = false; int ab = rgChecklistItems.Items.Count; int bmt_ScheduleActivityChecklistID; int bmt_ChecklistID; int bmt_ScheduleActivityChecklistItemID; string bmt_ChecklistItemComplete = "F"; foreach (GridDataItem x in rgChecklistItems.Items) { bmt_ScheduleActivityChecklistID = int.Parse(x.Cells[4].Text); bmt_ChecklistID = int.Parse(x.Cells[5].Text); bmt_ScheduleActivityChecklistItemID = int.Parse(x.Cells[6].Text); //Get the value of the row's checkbox CheckBox chkbox1 = (CheckBox)x.FindControl("chboxComplete"); if (AutoComplete == true) { bmt_ChecklistItemComplete = "T"; } else { if (chkbox1.Checked) { bmt_ChecklistItemComplete = "T"; } else { bmt_ChecklistItemComplete = "F"; } BmtSchedulingService.SchedulingService s = new BmtSchedulingService.SchedulingService(); BmtSchedulingService.BmtApiResult r = null; r = s.UpdateScheduleActivityCheckListItem(signature, scheduleActivityID, bmt_ScheduleActivityChecklistID, bmt_ChecklistID, bmt_ScheduleActivityChecklistItemID, bmt_ChecklistItemComplete, portalUserID); } } DoWork_ActivityDetail(); } public DataView GetScheduleActivityChecklistItems(string signature, int scheduleActivityID) { BmtSchedulingService.SchedulingService s = new BmtSchedulingService.SchedulingService(); BmtSchedulingService.ScheduleActivityChecklistItemData[] r = null; r = s.GetScheduleActivityChecklistItems(signature, scheduleActivityID); DataTable dt = new DataTable(); dt.Columns.Add("ScheduleActivityID", typeof(int)); dt.Columns.Add("ScheduleActivityChecklistID", typeof(int)); dt.Columns.Add("ChecklistID", typeof(int)); dt.Columns.Add("ScheduleActivityChecklistName", typeof(string)); dt.Columns.Add("ScheduleActivityChecklistItemName", typeof(string)); dt.Columns.Add("ScheduleActivityChecklistItemID", typeof(string)); dt.Columns.Add("ScheduleActivityChecklistItemCategory", typeof(string)); dt.Columns.Add("Complete", typeof(bool)); dt.Columns.Add("DateCompleted", typeof(string)); dt.Columns.Add("UserCompleted", typeof(string)); DataRow oDataRow; for (int i = 0; i < r.Length; i++) { oDataRow = dt.NewRow(); oDataRow["ScheduleActivityID"] = r[i].ScheduleActivityID.ToString(); oDataRow["ScheduleActivityChecklistID"] = r[i].ScheduleActivityChecklistID.ToString(); oDataRow["ChecklistID"] = r[i].ChecklistID.ToString(); oDataRow["ScheduleActivityChecklistName"] = r[i].ScheduleActivityChecklistName.ToString(); oDataRow["ScheduleActivityChecklistItemName"] = r[i].ScheduleActivityChecklistItemName.ToString(); oDataRow["ScheduleActivityChecklistItemID"] = r[i].ScheduleActivityChecklistItemID.ToString(); oDataRow["ScheduleActivityChecklistItemCategory"] = r[i].ScheduleActivityChecklistItemCategory.ToString(); oDataRow["Complete"] = r[i].Complete.ToString(); oDataRow["DateCompleted"] = r[i].DateCompleted.ToString(); oDataRow["UserCompleted"] = r[i].UserCompleted.ToString(); dt.Rows.Add(oDataRow); } return dt.DefaultView; } protected void menuScheduleActivityEditor_MenuItemClick(object sender, MenuEventArgs e) { multiviewScheduleActivityEditor.ActiveViewIndex = Int32.Parse(e.Item.Value); int i; for (i = 0; i <= menuScheduleActivityEditor.Items.Count - 1; i++) { if (i.ToString() == e.Item.Value) { menuScheduleActivityEditor.Items[i].Enabled = false; } else { menuScheduleActivityEditor.Items[i].Enabled = true; } } } }<body> <form id="form1" runat="server"> <div> <dxtc:ASPxPageControl ID="pcActivityDetail" runat="server" ActiveTabIndex="0" CssFilePath="~/App_Themes/Aqua/{0}/styles.css" CssPostfix="Aqua" Height="297px" ImageFolder="~/App_Themes/Aqua/{0}/" LoadingPanelText="" TabSpacing="3px" Width="826px" EnableViewState="False"> <ContentStyle> <Border BorderColor="#AECAF0" BorderStyle="Solid" BorderWidth="1px"></Border> </ContentStyle> <Paddings Padding="2px" PaddingLeft="5px" PaddingRight="5px"></Paddings> <TabPages> <dxtc:TabPage Name="tabChecklist" Text="Checklist"> <ContentCollection> <dxw:ContentControl ID="ContentControlChecklist" runat="server"> <asp:Button ID="btnSave" runat="server" Text="Save Checked Items" OnClick="btnSave_OnClick" /> <br /> <br /> <radG:RadGrid ID="rgChecklistItems" AllowMultiRowSelection="True" runat="server" AllowSorting="True" GridLines="None"> <MasterTableView AutoGenerateColumns="False" DataKeyNames="ScheduleActivityChecklistItemID"> <RowIndicatorColumn Visible="False"> <HeaderStyle Width="20px"></HeaderStyle> </RowIndicatorColumn> <ExpandCollapseColumn Visible="False"> <HeaderStyle Width="19px"></HeaderStyle> </ExpandCollapseColumn> <Columns> <radG:GridTemplateColumn HeaderText="Complete" UniqueName="Complete"> <ItemTemplate> <asp:CheckBox ID="chboxComplete" runat="server" Checked='<%# Bind("Complete") %>' Enabled="true" /> </ItemTemplate> <EditItemTemplate> <asp:CheckBox ID="chboxComplete" runat="server" Checked='<%# Bind("Complete") %>' /> </EditItemTemplate> </radG:GridTemplateColumn> <radG:GridBoundColumn UniqueName="ScheduleActivityChecklistName" HeaderText="Item" DataField="ScheduleActivityChecklistName"> <ItemStyle HorizontalAlign="Left" /> </radG:GridBoundColumn> <radG:GridBoundColumn UniqueName="ScheduleActivityChecklistID" HeaderText="saCID" DataField="ScheduleActivityChecklistID"> <ItemStyle HorizontalAlign="Left" /> </radG:GridBoundColumn> <radG:GridBoundColumn UniqueName="ChecklistID" HeaderText="CID" DataField="ChecklistID"> <ItemStyle HorizontalAlign="Left" /> </radG:GridBoundColumn> <radG:GridBoundColumn UniqueName="ScheduleActivityChecklistItemID" HeaderText="saCIID" DataField="ScheduleActivityChecklistItemID"> <ItemStyle HorizontalAlign="Left" /> </radG:GridBoundColumn> </Columns> <PagerStyle PagerTextFormat="Pages: {4} | Displaying page {0} of {1}, items {2} to {3} of {5}." Mode="NumericPages" /> <GroupHeaderItemStyle BackColor="LightSteelBlue" /> <AlternatingItemStyle BackColor="#E0E0E0" /> <ItemStyle BackColor="White" /> </MasterTableView> <ClientSettings> <Selecting AllowRowSelect="True" /> </ClientSettings> <HeaderStyle Wrap="True" HorizontalAlign="Center" VerticalAlign="Middle" /> </radG:RadGrid> </dxw:ContentControl> </ContentCollection> </dxtc:TabPage> <dxtc:TabPage Name="tabNotes" Text="Notes"> <ContentCollection> <dxw:ContentControl ID="ContentControlNotes" runat="server"> NOTES </dxw:ContentControl> </ContentCollection> </dxtc:TabPage> </TabPages> </dxtc:ASPxPageControl> </div> </form> </body>public partial class RadgridFails : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DoWork_ActivityDetail(); } } public void DoWork_ActivityDetail() { int scheduleActivityID = 707; string signature = "41aa56f1-a1c4-40c7-9f8c-97c262fc5a45"; // --------------------------------------------- // CHECKLIST TAB // --------------------------------------------- rgChecklistItems.DataSource = GetScheduleActivityChecklistItems(signature, scheduleActivityID); rgChecklistItems.DataBind(); // THIS RETURNS THE NUMBER OF ITEMS AND WORKS FINE !!! int ab = rgChecklistItems.Items.Count; } protected void btnSave_OnClick(object sender, EventArgs e) { string signature = "41aa56f1-a1c4-40c7-9f8c-97c262fc5a45"; string portalUserID = "ADMIN"; int scheduleActivityID = 707; bool AutoComplete = false; // AT THIS POINT, NUMBER OF ITEMS = 0 EVEN THOUGH THE GRID SHOWED ITEMS WHEN LOADING !!!!! int ab = rgChecklistItems.Items.Count; int bmt_ScheduleActivityChecklistID; int bmt_ChecklistID; int bmt_ScheduleActivityChecklistItemID; string bmt_ChecklistItemComplete = "F"; foreach (GridDataItem x in rgChecklistItems.Items) { bmt_ScheduleActivityChecklistID = int.Parse(x.Cells[4].Text); bmt_ChecklistID = int.Parse(x.Cells[5].Text); bmt_ScheduleActivityChecklistItemID = int.Parse(x.Cells[6].Text); //Get the value of the row's checkbox CheckBox chkbox1 = (CheckBox)x.FindControl("chboxComplete"); if (AutoComplete == true) { bmt_ChecklistItemComplete = "T"; } else { if (chkbox1.Checked) { bmt_ChecklistItemComplete = "T"; } else { bmt_ChecklistItemComplete = "F"; } BmtSchedulingService.SchedulingService s = new BmtSchedulingService.SchedulingService(); BmtSchedulingService.BmtApiResult r = null; r = s.UpdateScheduleActivityCheckListItem(signature, scheduleActivityID, bmt_ScheduleActivityChecklistID, bmt_ChecklistID, bmt_ScheduleActivityChecklistItemID, bmt_ChecklistItemComplete, portalUserID); } } DoWork_ActivityDetail(); } public DataView GetScheduleActivityChecklistItems(string signature, int scheduleActivityID) { BmtSchedulingService.SchedulingService s = new BmtSchedulingService.SchedulingService(); BmtSchedulingService.ScheduleActivityChecklistItemData[] r = null; r = s.GetScheduleActivityChecklistItems(signature, scheduleActivityID); DataTable dt = new DataTable(); dt.Columns.Add("ScheduleActivityID", typeof(int)); dt.Columns.Add("ScheduleActivityChecklistID", typeof(int)); dt.Columns.Add("ChecklistID", typeof(int)); dt.Columns.Add("ScheduleActivityChecklistName", typeof(string)); dt.Columns.Add("ScheduleActivityChecklistItemName", typeof(string)); dt.Columns.Add("ScheduleActivityChecklistItemID", typeof(string)); dt.Columns.Add("ScheduleActivityChecklistItemCategory", typeof(string)); dt.Columns.Add("Complete", typeof(bool)); dt.Columns.Add("DateCompleted", typeof(string)); dt.Columns.Add("UserCompleted", typeof(string)); DataRow oDataRow; for (int i = 0; i < r.Length; i++) { oDataRow = dt.NewRow(); oDataRow["ScheduleActivityID"] = r[i].ScheduleActivityID.ToString(); oDataRow["ScheduleActivityChecklistID"] = r[i].ScheduleActivityChecklistID.ToString(); oDataRow["ChecklistID"] = r[i].ChecklistID.ToString(); oDataRow["ScheduleActivityChecklistName"] = r[i].ScheduleActivityChecklistName.ToString(); oDataRow["ScheduleActivityChecklistItemName"] = r[i].ScheduleActivityChecklistItemName.ToString(); oDataRow["ScheduleActivityChecklistItemID"] = r[i].ScheduleActivityChecklistItemID.ToString(); oDataRow["ScheduleActivityChecklistItemCategory"] = r[i].ScheduleActivityChecklistItemCategory.ToString(); oDataRow["Complete"] = r[i].Complete.ToString(); oDataRow["DateCompleted"] = r[i].DateCompleted.ToString(); oDataRow["UserCompleted"] = r[i].UserCompleted.ToString(); dt.Rows.Add(oDataRow); } return dt.DefaultView; } }
when a row is selected and clicked on a radTolBarButton,to edit its content . Actually it opens a Rad window (window.radopen) with all the controls in editable mode.
we can edit ,save and also close this window ( provided a Rad button 'Close' in a Rad tool bar )
My Requirement is below.
on edit - save - close button click
1.Need to close the window - (this is happening)
2.Need to refresh the content in the grid - from - where this rad window opend. (this is not happening)
I dont want to change Content edit procedure. This is already finalised.
The only thing is to refresh the grid content on Rad window close.
Please help me.
Thanks in advance
<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/ITIMaster.Master" CodeBehind="AlertLevelAdmin.aspx.vb" Inherits="EmailAlertsMonitor.AlertLevelAdmin" %> <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> <telerik:RadGrid ID="gvAlertLevels" runat="server" AutoGenerateColumns="False" CellSpacing="0" DataSourceID="SqlDataSource1" GridLines="None" Skin="Outlook" AllowAutomaticDeletes ="true" AllowAutomaticUpdates ="true" AllowAutomaticInserts="true" > <MasterTableView DataSourceID="SqlDataSource1" DataKeyNames ="Alert_Level_ID" CommandItemDisplay ="TopAndBottom" > <CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings> <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column"> <HeaderStyle Width="20px"></HeaderStyle> </RowIndicatorColumn> <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column"> <HeaderStyle Width="20px"></HeaderStyle> </ExpandCollapseColumn> <EditFormSettings> <EditColumn FilterControlAltText="Filter EditCommandColumn column"></EditColumn> </EditFormSettings> <Columns > <telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn"> <ItemStyle CssClass="MyImageButton" /> </telerik:GridEditCommandColumn> <telerik:GridButtonColumn ConfirmText="Are you sure you want to delete this alert?" ConfirmDialogType="RadWindow" ConfirmTitle="Delete" ButtonType="ImageButton" CommandName="Delete" Text="Delete" UniqueName="DeleteColumn"> <ItemStyle HorizontalAlign="Center" CssClass="MyImageButton" /> </telerik:GridButtonColumn> <telerik:GridTemplateColumn FilterControlAltText="Filter TemplateColumn column" UniqueName="TemplateColumn" HeaderText ="Alert Level ID"> <ItemTemplate > <asp:Label ID="lblAlertLevelID" runat ="server" Text ='<%#EVAL("Alert_Level_ID") %>'></asp:Label> </ItemTemplate> <EditItemTemplate > <asp:TextBox ID="txtAlertLevelID" runat ="server" Text ='<%#EVAL("Alert_Level_ID") %>'></asp:TextBox> <asp:CompareValidator ID="cvAlertLevelID" runat ="server" ControlToValidate ="txtAlertLevelID" Operator ="DataTypeCheck" Type ="Integer" SetFocusOnError ="true" ErrorMessage ="Alert Level ID must be numeric." ForeColor ="Red" ValidationGroup ="editData" ></asp:CompareValidator> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn FilterControlAltText="Filter TemplateColumn column" UniqueName="TemplateColumn" HeaderText ="Alert Level Description"> <ItemTemplate > <asp:Label ID="lblAlertLevel" runat ="server" Text ='<%#EVAL("Alert_Level") %>'></asp:Label> </ItemTemplate> <EditItemTemplate > <asp:TextBox ID="txtAlertLevel" runat ="server" Text ='<%#EVAL("Alert_Level") %>'></asp:TextBox> <asp:RequiredFieldValidator ID="rvAlertLevel" runat ="server" ControlToValidate="txtAlertLevel" SetFocusOnError ="true" ErrorMessage ="Must enter Alert Level Description." ForeColor ="Red" ValidationGroup ="editData"></asp:RequiredFieldValidator> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn FilterControlAltText="Filter TemplateColumn column" UniqueName="TemplateColumn3" HeaderText ="Alert Level Color Code"> <ItemTemplate > <asp:Label ID="lblAlertLevelColor" runat ="server" Text ='<%#EVAL("Alert_Level_Color_Code") %>'></asp:Label> </ItemTemplate> <EditItemTemplate > <telerik:RadColorPicker ID="RadColorPicker1" runat="server" ShowIcon="true" OnColorChanged ="RadColorPicker1_ColorChanged" Width ="250px" Height ="400px" > </telerik:RadColorPicker> </EditItemTemplate> </telerik:GridTemplateColumn> </Columns> </MasterTableView> <FilterMenu EnableImageSprites="False"></FilterMenu> <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default"></HeaderContextMenu> </telerik:RadGrid> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DBConnectionString %>" SelectCommand="SELECT * FROM [Alert_Level]" InsertCommand ="INSERT INTO [Alert_Level] VALUES(@alertLevelID,@alertLevel,@alertColorCode)" UpdateCommand ="UPDATE [Alert_Level] SET alert_level=@alertLevel,alert_level_color_code=@alertColorCode WHERE alert_Level_ID=@alertLevelID" DeleteCommand ="DELETE FROM [Alert_Level] WHERE alert_Level_ID=@alertLevelID" > <InsertParameters > <asp:Parameter Name ="AlertLevelID" Type ="Int16" /> <asp:Parameter Name ="AlertLevel" Type ="String" /> <asp:Parameter Name ="AlertColorCode" Type ="String" /> </InsertParameters> <UpdateParameters > <asp:Parameter Name ="AlertLevelID" Type ="Int16" /> <asp:Parameter Name ="AlertLevel" Type ="String" /> <asp:Parameter Name ="AlertColorCode" Type ="String" /> </UpdateParameters> <DeleteParameters > <asp:Parameter Name ="AlertLevelID" Type ="Int16" /> </DeleteParameters> </asp:SqlDataSource> </asp:Content> Imports Telerik.Web.UI Imports System.Drawing Public Class AlertLevelAdmin Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load End Sub Public Sub RadColorPicker1_ColorChanged(ByVal sender As Object, ByVal e As EventArgs) Dim RadColorPicker1 As RadColorPicker = CType(sender, RadColorPicker) Dim gvItem As GridItem = DirectCast(RadColorPicker1.NamingContainer, GridItem) gvItem.BackColor = RadColorPicker1.SelectedColor End Sub Private Sub gvAlertLevels_ItemDataBound(sender As Object, e As Telerik.Web.UI.GridItemEventArgs) Handles gvAlertLevels.ItemDataBound If TypeOf e.Item Is GridDataItem Then Dim item As GridDataItem = DirectCast(e.Item, GridDataItem) item("TemplateColumn3").BackColor = ColorTranslator.FromHtml((DataBinder.Eval(e.Item.DataItem, ("Alert_Level_Color_Code").ToString))) End If Dim radColorPicker1 As RadColorPicker = DirectCast(e.Item.FindControl("RadColorPicker1"), RadColorPicker) If Not IsNothing(radColorPicker1) Then If Not IsDBNull(DataBinder.Eval(e.Item.DataItem, ("Alert_Level_Color_Code"))) Then radColorPicker1.SelectedColor = ColorTranslator.FromHtml((DataBinder.Eval(e.Item.DataItem, ("Alert_Level_Color_Code").ToString))) End If End If End Sub Private Sub gvAlertLevels_ItemDeleted(sender As Object, e As Telerik.Web.UI.GridDeletedEventArgs) Handles gvAlertLevels.ItemDeleted Try Dim item As GridDataItem = DirectCast(e.Item, GridDataItem) Dim alertLevelID As Integer = CInt(item.GetDataKeyValue("Alert_Level_ID").ToString) SqlDataSource1.DeleteParameters("AlertLevelID").DefaultValue = alertLevelID SqlDataSource1.Delete() Catch ex As Exception End Try End Sub Private Sub gvAlertLevels_ItemInserted(sender As Object, e As Telerik.Web.UI.GridInsertedEventArgs) Handles gvAlertLevels.ItemInserted Try Dim alertLevelID As Integer = DirectCast(e.Item.FindControl("txtAlertLevelID"), TextBox).Text Dim alertLevel As String = DirectCast(e.Item.FindControl("txtAlertLevel"), TextBox).Text Dim alertColorCode As String = ColorTranslator.ToHtml(DirectCast(e.Item.FindControl("RadColorPicker1"), RadColorPicker).SelectedColor) SqlDataSource1.InsertParameters("AlertLevelID").DefaultValue = alertLevelID SqlDataSource1.InsertParameters("AlertLevel").DefaultValue = alertLevel.ToUpper SqlDataSource1.InsertParameters("AlertColorCode").DefaultValue = alertColorCode SqlDataSource1.Insert() Catch ex As Exception End Try End Sub Private Sub gvAlertLevels_ItemUpdated(sender As Object, e As Telerik.Web.UI.GridUpdatedEventArgs) Handles gvAlertLevels.ItemUpdated Try Dim item As GridEditFormItem = DirectCast(e.Item, GridEditFormItem) Dim alertLevelID As Integer = CInt(item.GetDataKeyValue("Alert_Level_ID").ToString) Dim alertLevel As String = DirectCast(item.FindControl("txtAlertLevel"), TextBox).Text Dim alertColorCode As String = ColorTranslator.ToHtml(DirectCast(item.FindControl("RadColorPicker1"), RadColorPicker).SelectedColor) SqlDataSource1.UpdateParameters("AlertLevelID").DefaultValue = alertLevelID SqlDataSource1.UpdateParameters("AlertLevel").DefaultValue = alertLevel.ToUpper SqlDataSource1.UpdateParameters("AlertColorCode").DefaultValue = alertColorCode SqlDataSource1.Update() Catch ex As Exception End Try End Sub End Class<telerik:RadWindowManager ID="RadWindowManagerUI" runat="server" /> <telerik:RadAjaxPanel ID="RadAjaxPanelFreezeSheets" runat="server" LoadingPanelID="RadAjaxLoadingPanelFreezeSheets"> <telerik:RadGrid ID="RadGridFreezeSheets" runat="server" Skin="WebBlue" onneeddatasource="RadGridFreezeSheets_NeedDataSource" AllowPaging="True" AllowSorting="True" ondeletecommand="RadGridFreezeSheets_DeleteCommand" oninsertcommand="RadGridFreezeSheets_InsertCommand" AllowFilteringByColumn="True" onitemcommand="RadGridFreezeSheets_ItemCommand" onupdatecommand="RadGridFreezeSheets_UpdateCommand" CellSpacing="0" GridLines="None" AllowAutomaticUpdates="true"> <MasterTableView CommandItemDisplay="Top" AutoGenerateColumns="false" DataKeyNames="FreezeID" InsertItemPageIndexAction="ShowItemOnCurrentPage" EditMode="PopUp"> <Columns> <telerik:GridEditCommandColumn ButtonType="ImageButton" /> <telerik:GridButtonColumn ConfirmText="Delete this freeze sheet?" ConfirmDialogType="RadWindow" ConfirmTitle="Delete" ButtonType="ImageButton" CommandName="Delete" ConfirmDialogHeight="100px" ConfirmDialogWidth="220px" /> <telerik:GridTemplateColumn DataField="FreezeID" HeaderText="Freeze Sheet" UniqueName="FreezeID" Visible="false"> <InsertItemTemplate> <asp:Label ID="LabelEdit" runat="server" Text='<%# Eval("FreezeID") %>' Visible="false"></asp:Label> </InsertItemTemplate> <EditItemTemplate> <asp:Label ID="LabelEdit" runat="server" Text='<%# Eval("FreezeID") %>'></asp:Label> </EditItemTemplate> <ItemTemplate><asp:Label ID="LabelFN" runat="server" Text='<%# Eval("FreezeID") %>' Visible="false"></asp:Label></ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn DataField="Username" HeaderText="User" UniqueName="Username" /> <telerik:GridTemplateColumn DataField="DateStarted" HeaderText="Date started" UniqueName="DateStarted"> <EditItemTemplate> <telerik:RadDatePicker ID="RadDatePicker1" runat="server" SelectedDate='<%# Bind("DateStarted") %>'> </telerik:RadDatePicker> </EditItemTemplate> <InsertItemTemplate> <telerik:RadDatePicker ID="RadDatePicker1" runat="server"> </telerik:RadDatePicker> </InsertItemTemplate> <ItemTemplate><asp:Label ID="LabelSD" runat="server" Text='<%# Eval("DateStarted") %>'></asp:Label></ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn DataField="DateCompleted" HeaderText="Date completed" UniqueName="DateCompleted"> <EditItemTemplate> <telerik:RadDatePicker ID="RadDatePicker1" runat="server" SelectedDate='<%# Bind("DateCompleted") %>'> </telerik:RadDatePicker> </EditItemTemplate> <InsertItemTemplate> <telerik:RadDatePicker ID="RadDatePicker1" runat="server"> </telerik:RadDatePicker> </InsertItemTemplate> <ItemTemplate><asp:Label ID="LabelPD" runat="server" Text='<%# Eval("DateCompleted") %>'></asp:Label></ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn DataField="Status" HeaderText="Status" UniqueName="Status" /> <telerik:GridBoundColumn DataField="Notes" HeaderText="Notes" UniqueName="Notes" /> <telerik:GridButtonColumn UniqueName="columnx" HeaderText="" CommandName="Process" DataTextField="FreezeID" DataTextFormatString="Process Freeze"/> </Columns> </MasterTableView> </telerik:RadGrid> </telerik:RadAjaxPanel> <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanelFreezeSheets" runat="server" Skin="WebBlue"> </telerik:RadAjaxLoadingPanel>
public partial class FreezeSheets : System.Web.UI.Page { private Domain.FreezeRepository freezeRepo = new Domain.FreezeRepository(); protected void Page_Load(object sender, EventArgs e) { } protected void RadGridFreezeSheets_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e) { RadGridFreezeSheets.DataSource = freezeRepo.FindAllFreezes(); } protected void RadGridFreezeSheets_InsertCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e) { Response.Redirect("AddFreezeSheet.aspx"); } protected void RadGridFreezeSheets_DeleteCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e) { } protected void RadGridFreezeSheets_ItemCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e) { if (e.CommandName == "InitInsert") { Response.Redirect("AddFreezeSheet.aspx"); } if (e.CommandName == "Process") { Response.Redirect("FreezeSheetSamples.aspx.aspx?q=" + (e.Item as GridDataItem).GetDataKeyValue("FreezeID").ToString()); } } protected void RadGridFreezeSheets_UpdateCommand(object sender, GridCommandEventArgs e) { try { GridEditableItem item = e.Item as GridEditableItem; var freezeID = item.GetDataKeyValue("FreezeID").ToString(); Domain.Freeze oldFreeze = freezeRepo.GetFreeze(Convert.ToInt16(freezeID)); item.UpdateValues(oldFreeze); freezeRepo.Save(); } catch (Exception ex) { RadWindowManagerUI.RadAlert("Unable to save your information. make sure the combination you are entering is unique for the selected freezer. Additional information: " + ex.Message, 330, 100, "DNA CellLab", null); } } }
If TypeOf e.Item Is GridEditableItem Then Dim gridEditedItem1 As GridEditableItem = TryCast(e.Item, GridEditableItem) Dim bytes As Byte() = (DirectCast(gridEditedItem1.EditManager.GetColumnEditor("ImageFile"), GridAttachmentColumnEditor)).UploadedFileContent If bytes Is Nothing OrElse bytes.Length = 0 Then bytes = New Byte() {} End If 'Return bytes End If