rg.SelectedItems[0].OwnerTableView.DataKeyValues[rgScheduleList.SelectedItems[0].ItemIndex][
"SCHEDULE_ID"]
will get the value for the datakey on the grid, how about none data key item text? like name field on the grid?
protected void cboProblemCombo_PreRender(object sender, EventArgs evt){ cboProblemCombo.BackColor = System.Color.Blue; }.RadComboBox .rcbInputCell .rcbInput {background:none repeat scroll 0 0 transparent;border:0 none;outline:0 none;padding:2px 0 1px;vertical-align:middle;width:100%;}My RadGrid is setup to perform bulk edits, and that is all working well. So this works great:
protected void RadGrid1_ItemCommand(object source, GridCommandEventArgs e) {
if (e.CommandName == "UpdateAll") {
SaveTableData(e);
}
I'm preforming the Update/Insert like this:
foreach (GridEditableItem editedItem in RadGrid1.EditItems) {
Hashtable newValues = new Hashtable();
//The GridTableView will fill the values from all editable columns in the hash
e.Item.OwnerTableView.ExtractValuesFromItem(newValues, editedItem);
}
However, when i add Paging to the mix, then the updates/inserts of the data are lost. That is, if the user enters in all their data, and then forgets to Save their data and instead moves to the next page of the bulk edit table, then the data they entered is lost.
So I aded this function to try to fix that:
protected void RadGrid1_PageIndexChanged(object source, GridCommandEventArgs e) {
SaveTableData(e);
}
But this 'e' does not have the user's new data that they entered in.
Why does the 'e' not have the new values?
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="IETester.aspx.vb" Inherits="IETester" %><%@ Register Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Web.UI" TagPrefix="asp" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><!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> <link type="text/css" rel="Stylesheet" href="css/chrome.css" /> <script language="javascript" type="text/javascript" src="scripts/jquery-1.4.1.js"></script> <script language="javascript" type="text/javascript" src="scripts/jquery-1.4.1.min.js"></script> <script language="javascript" type="text/javascript" src="scripts/jquery-1.4.1-vsdoc.js"></script> <script language="javascript" type="text/javascript" src="scripts/Utils.js"></script></head><body> <form id="form1" runat="server"> <div> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <telerik:RadNumericTextBox ID="RadNumericTextBox1" runat="server" customAttribute="hiddenSection3" CssClass="numeric" NumberFormat-DecimalDigits="0"> </telerik:RadNumericTextBox> <asp:Button ID="Button1" runat="server" Text="Button" /> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="RequiredFieldValidator" Display="Dynamic" ControlToValidate="RadNumericTextBox1"></asp:RequiredFieldValidator> <%-- <telerik:RadInputManager ID="RadInputManager1" runat="server"> <telerik:NumericTextBoxSetting Type="Currency" BehaviorID="Setting2" Validation-IsRequired="true" EmptyMessage="Error" ErrorMessage="Error" Validation-ValidateOnEvent="All" > <TargetControls> <telerik:TargetInput ControlID="RadNumericTextBox1" Enabled="true" /> </TargetControls> </telerik:NumericTextBoxSetting> </telerik:RadInputManager> --%> <input type="hidden" id="hiddenIdentified" value="0" /> <input type="hidden" id="hiddenPrevious" value="0" /> <input type="hidden" id="hiddenTotal" value="0" /> <input type="hidden" id="hiddenSection1" value="0" /> <input type="hidden" id="hiddenSection2" value="0" /> <input type="hidden" id="hiddenSection3" value="0" /> </div> </form></body></html>I have a problem with adding custom attributes to menuitems. They can be added in code behind (I have tested the attribute count and contents) but do not show up in the html markup client-side. Custom CSS classes are added without a problem.
I have tried two ways of adding custom attributes to the menuitems
-databinding
-manual build of the menu
In the attached file I have added an aspx page with code to illustrate the issue.
| <table border="0" cellpadding="0" cellspacing="0" style="background-color:White;"> |
| <tr> |
| <td style="padding-right:5px;"><asp:LinkButton ID="lnkbtnSave" runat="server" Enabled="false" OnClick="lnkbtnSave_Click">Save</asp:LinkButton></td> |
| <td style="padding-right:5px;"><asp:LinkButton ID="lnkbtnSaveAs" Enabled="false" runat="server" OnClick="lnkbtnSave_Click">Save As...</asp:LinkButton></td> |
| <td><telerik:RadComboBox ID="rcbRptSettings" runat="server" AllowCustomText="true" EmptyMessage="My Reports" LoadingMessage="Loading..." OnSelectedIndexChanged="rcbRptSettings_SelectedIndexChanged" AutoPostBack="true" Skin="Outlook" Width="250px"></telerik:RadComboBox></td> |
| <td style="padding-left:5px;"><asp:LinkButton ID="lnkbtnDelete" runat="server" OnClientClick="return blockConfirm('Are you sure you want to delete this report?', event, 330, 100,'','AARates Delete My Report');" OnClick="lnkbtnDelete_Click" Enabled="false">Delete</asp:LinkButton></td> |
| </tr> |
| </table> |
| protected void Page_Load(object sender, EventArgs e) |
| { |
| if (!Page.IsPostBack) |
| { |
| BindSavedSettings(Master.loggedUser.UserReports); |
| } |
| } |
| private void BindSavedSettings(List<UserReport> urReports) |
| { |
| rcbRptSettings.DataSource = urReports; //Master.loggedUser.UserReports; |
| rcbRptSettings.DataTextField = "Name"; |
| rcbRptSettings.DataValueField = "UserReportID"; |
| rcbRptSettings.DataBind(); |
| rcbRptSettings.Items.Insert(0, new RadComboBoxItem("", "")); |
| } |
| protected void lnkbtnSave_Click(Object sender, EventArgs e) |
| { |
| //Saves existing report |
| bool settingsfound = false; |
| UserReport ursettings; |
| PgMessage.ClearMessages(); |
| if (rcbRptSettings.Text != string.Empty) |
| { |
| //USED FOR GRID SETTINGS |
| //string grsettings = string.Empty; |
| //GridSettingsPersister persister = new GridSettingsPersister(ARGrid1); |
| //grsettings = persister.SaveSettings(); |
| foreach (UserReport ur in Master.loggedUser.UserReports) |
| { |
| if (ur.Name == rcbRptSettings.Text) |
| { |
| settingsfound = true; |
| } |
| } |
| if (settingsfound) |
| { |
| ursettings = UserReport.getByKey(Convert.ToInt32(rcbRptSettings.SelectedValue)); |
| SaveReportSettings(ursettings); |
| } |
| else |
| { //NEW Report Settings |
| ursettings = new UserReport(); |
| SaveReportSettings(ursettings); |
| List<UserReport> urpt = UserReport.getByUserid(Master.loggedUser.Userid); |
| BindSavedSettings(urpt); //BindSavedSettings to add new report setting |
| } |
| } |
| else |
| { |
| PgMessage.DisplayMessage(PageMessage.MessageType.Information, "Report Setting name must be entered"); |
| } |
| } |