I am using a RadGrid and want to be able to show row specific details in another item (such as a TextBox) when a row is clicked. This is similar to the example seen in this Grid Example. Since the Grid Example does not have details I am using the example in Grid Row Selection. I want the selection to work like the top example, not the bottom one. I am trying to have the JavaScript call a method in the aspx.cs page that then updates a text box, but the PageMethods.RowClick method in the code behind is static so it does not have access to TextBox1. Is it possible to have more control in the aspx.cs page? The first example looks to be using previously generated items that are then hidden or exposed using JavaScript. Is that what I need to be doing?
I basically want the user to be able to click on a row in the RadGrid and have other things on the page update immediately based on the selected row.
//radgrid.aspxfunction RadGrid1_OnRowClick(sender,eventArgs){ var MasterTable = sender.get_masterTableView(); var Name = MasterTable.getCellByColumnUniqueName(row, "Server").innerHTML; PageMethods.RowClick(Name);}// radgrid.aspx.cs [System.Web.Services.WebMethod] public static void RowClick(string item) { TextBox1.Text += item; }.RadGrid{ border-radius: 10px; overflow: hidden;}<EditFormSettings EditFormType="Template"> <EditColumn FilterControlAltText="Filter EditCommandColumn1 column" UniqueName="EditCommandColumn1"> </EditColumn> <FormTemplate> <table class="auto-style1" border="2" > <tr> <td style="width:8%">Building Name:</td> <td style="width:8%"> <asp:TextBox ID="bldgname" runat="server" MaxLength="40" > </asp:TextBox> </td> <td style="width:8%">Column3</td> <td style="width:100%">Column4</td> </tr> <tr> <td>Address:</td> <td> <asp:TextBox ID="address1" runat="server" Text='<%# Bind("bldgstreet1") %>'></asp:TextBox><br /> <asp:TextBox ID="address2" runat="server" Text='<%# Bind("bldgstreet2") %>'></asp:TextBox><br /> </td> <td> </td> <td> </td> </tr> <tr> <td>City:</td> <td> <asp:TextBox ID="bldgcity" runat="server" Text='<%# Bind("bldgcity") %>'></asp:TextBox><br /> </td> <td> </td> <td> </td> </tr> <tr> <td>State:</td> <td> <asp:TextBox ID="bldgstate" runat="server" Text='<%# Bind("bldgstate") %>'></asp:TextBox><br /> </td> <td> </td> <td> </td> </tr> <tr style="width:5%; height:50px"> <td>Zip:</td> <td> <asp:TextBox ID="bldgzip" runat="server" Text='<%# Bind("bldgzip") %>'></asp:TextBox><br /> </td> <td> <div> <table width="100%"> <tr> <td style="width:30%"> <asp:ImageButton ID="CertifyAddressImageButton" runat="server" ImageUrl="~/images/certificate32.png" OnClick="CertifyAddressImageButton_Click"/> </td> <td style="width:70%"> <asp:CheckBox ID="CheckBoxOverride" runat="server" Text="Override?" TextAlign="Left" Font-Size="Large" /> </td> </tr> </table> </div> </td> <td> <telerik:RadComboBox ID="WireCenterRadComboBox" Runat="server" Height="200px" Width="200px" DropDownWidth="750px" HighlightTemplatedItems="True" MarkFirstMatch="True" EnableLoadOnDemand="True" Filter="StartsWith" EmptyMessage="Enter WireCenter Name..." ToolTip="Enter WireCenter Name to Filter list" OnItemsRequested="WireCenterRadComboBox_ItemsRequested" OnLoad="WireCenterRadComboBox_Load"> <HeaderTemplate> <table style="width: 700px" cellspacing="0" cellpadding="0"> <tr> <td style="width: 80px;">WireCenter</td> <td style="width: 150px;">Name</td> <td style="width: 150px;">T1OrderMethod</td> <td style="width: 100px;">Vendor ACTL</td> <td style="width: 170px;">Logix ACTL</td> </tr> </table> </HeaderTemplate> <ItemTemplate> <table style="width:700px" cellspacing="0" cellpadding="0"> <tr> <td style="width: 80px;"><%# DataBinder.Eval(Container, "Text")%></td> <td style="width: 150px;"><%# DataBinder.Eval(Container, "Attributes['wirecentername']")%></td> <td style="width: 150px;"><%# DataBinder.Eval(Container, "Attributes['t1ordermethod']")%></td> <td style="width: 100px;"><%# DataBinder.Eval(Container, "Attributes['vendoractl']")%></td> <td style="width: 170px;"><%# DataBinder.Eval(Container, "Attributes['logixactl']")%></td> </tr> </table> </ItemTemplate> </telerik:RadComboBox> </td> </tr> <tr> <td> <asp:Button ID="btnUpdate" Text='<%# (Container is GridEditFormInsertItem) ? "Insert" : "Update" %>' runat="server" CommandName='<%# (Container is GridEditFormInsertItem) ? "PerformInsert" : "Update" %>'> </asp:Button> <asp:Button ID="btnCancel" Text="Cancel" runat="server" CausesValidation="False" CommandName="Cancel"></asp:Button> </td> <td> </td> <td> </td> <td> </td> </tr> </table> </FormTemplate></EditFormSettings>if (e.CommandName == RadGrid.UpdateCommandName || e.CommandName == RadGrid.PerformInsertCommandName){ GridEditableItem item = e.Item as GridEditableItem; // Validate Zip Code RegularExpressionValidator validZip = new RegularExpressionValidator(); // for Accessing boundcolumn GridTextBoxColumnEditor editor; // Test zip TextBox txtbx; TableCell cell; txtbx = (TextBox)item.FindControl("bldgzip"); cell = ((GridEditFormItem)txtbx.NamingContainer).EditFormCell; validZip.ControlToValidate = txtbx.ID; validZip.ErrorMessage = "only [0-9] and '-' are allowed"; validZip.ValidationExpression = @"^\d{5}(-\d{4})?$"; validZip.ForeColor = System.Drawing.Color.Red; cell.Controls.Add(validZip); // End Test Zip validZip.Validate(); }
RadEditor1.Content = Conversion.ToString(Cms.HtmlContent);
<
telerik:GridBoundColumn DataField="RaisingFactor" HeaderText="Raising Factor" UniqueName="RaisingFactor" ReadOnly="true" Visible="true" DataFormatString="{0:N2}"></telerik:GridBoundColumn>

<telerik:GridGroupByExpression> <SelectFields> <telerik:GridGroupByField FieldName="Date" /> </SelectFields> <GroupByFields> <telerik:GridGroupByField FieldName="Date" SortOrder="Ascending" /> </GroupByFields> </telerik:GridGroupByExpression>[Serializable]protected class MonthAndYear : IComparable<MonthAndYear>{ public int Month { get; set; } public int Year { get; set; } public string monthString { get { return CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(Month); } } public MonthAndYear(int month, int year) { Month = month; Year = year; } public MonthAndYear(DateTime dateTime) { Month = dateTime.Month; Year = dateTime.Year; } public static MonthAndYear Now { get { return new MonthAndYear(DateTime.Now.Month, DateTime.Now.Year); } } public static MonthAndYear FromDate(DateTime date) { return new MonthAndYear(date.Month, date.Year); } public MonthAndYear AddMonths(int num) { DateTime tempDate = new DateTime(Year, Month, 1); tempDate = tempDate.AddMonths(num); return new MonthAndYear(tempDate.Month, tempDate.Year); } public MonthAndYear AddYears(int num) { int newYear = Year + num; return new MonthAndYear(Month, newYear); } public static bool operator >(MonthAndYear a, MonthAndYear b) { if (a.Year == b.Year) return a.Month > b.Month; else if (a.Year > b.Year) return true; else return false; } public static bool operator <(MonthAndYear a, MonthAndYear b) { if (a.Year == b.Year) return a.Month < b.Month; else if (a.Year < b.Year) return true; else return false; } public static bool operator >=(MonthAndYear a, MonthAndYear b) { return a > b || a == b; } public static bool operator <=(MonthAndYear a, MonthAndYear b) { return a < b || a == b; } public static bool operator ==(MonthAndYear a, MonthAndYear b) { return a.Month == b.Month && a.Year == b.Year; } public static bool operator !=(MonthAndYear a, MonthAndYear b) { return !(a.Month == b.Month && a.Year == b.Year); } public override bool Equals(object obj) { if (obj == null) { return false; } MonthAndYear m = obj as MonthAndYear; if ((System.Object)m == null) { return false; } return this.Month == m.Month && this.Year == m.Year;; } public override string ToString() { return new DateTime(Year, Month, 1).ToString(); } public override int GetHashCode() { int hash = 23; hash = hash * 31 + Month.GetHashCode(); hash = hash * 31 + Year.GetHashCode(); return hash; } public int CompareTo(MonthAndYear other) { if (this < other) return -1; if (this == other) return 0; return 1; }}