
I have a 2 treeviews lets say tree1 and tree2.
tree1 has checkbox nodes
I drag and drop the checked nodes from tree1 to tree2.
On tree1_nodedrop, trying to read those checkednodes using Tree1.CheckedNodes() and it is always returning 0.
Earlier it used to work, i'm not sure whether is stop working after SP1 installation or VS2012 installation.
Telerik Current Version: 2012.2.724.40 (2012 Q2 SP1)
Code Editor: Visual Studio 2010
Framework: 4.0
Tree1 ASPX Code:
<telerik:RadTreeView ID="tree1" runat="server" Skin="Windows7" DataFieldID="ID"
DataFieldParentID="ParentID" DataTextField="NodeText" EnableDragAndDrop="true"
CheckBoxes="true" CheckChildNodes="true" DataValueField="ValueID">
Code Behind:
Private Sub tree1_NodeDrop(sender As Object, e As Telerik.Web.UI.RadTreeNodeDragDropEventArgs) Handles tree1.NodeDrop
For Each node As RadTreeNode In tree1.CheckedNodes
// do something
Next
End Sub
What am i missing here?

| <MasterTableView DataKeyNames="id"> |
| <Columns> |
| <telerik:GridBoundColumn HeaderText="Street" DataField="Address.Street" /> |
| <telerik:GridBoundColumn HeaderText="HouseNumber" DataField="Address.HouseNumber" /> |
| <telerik:GridBoundColumn HeaderText="ZipCode" DataField="Address.ZipCode.Code" /> |
| <telerik:GridBoundColumn HeaderText="City" DataField="Address.ZipCode.City" /> |
| </Columns> |
| </MasterTableView> |
| // Javascript |
| var selectedItem = $find("MyGridClientID").get_masterTableView().get_selectedItems()[0]; |
| var selectedItemID = selectedItem.getDataKeyValue("id"); |
using System;using System.Data;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using Telerik.Web.UI;using System.Text.RegularExpressions;public partial class Spreadsheet : System.Web.UI.Page{ protected global::System.Web.UI.WebControls.Literal dataRow; protected void Page_Init(object sender, System.EventArgs e) { DefineGridStructure(); } protected void Page_Load(object sender, EventArgs e) { RadGrid grid = (RadGrid)PlaceHolder1.FindControl("RadGrid1"); RadAjaxManager1.AjaxSettings.AddAjaxSetting(grid, grid); if (Page.IsPostBack) { Label1.Text += "Post back!! <br>"; } if (!Page.IsPostBack) { Label1.Text += "Page_Load; " + DateTime.Now.ToString() + "<br>"; } } private void DefineGridStructure() { RadGrid RadGrid1 = new RadGrid(); RadGrid1.ID = "RadGrid1"; System.Drawing.Color disabledBackColor = System.Drawing.Color.AliceBlue; System.Drawing.Color defaultBorderColor = System.Drawing.Color.Black; RadGrid1.Width = Unit.Percentage(100); RadGrid1.PageSize = 7; RadGrid1.GridLines = GridLines.Both; RadGrid1.AllowPaging = true; RadGrid1.AllowSorting = true; RadGrid1.PagerStyle.Mode = GridPagerMode.NextPrevAndNumeric; RadGrid1.ShowFooter = true; RadGrid1.AutoGenerateColumns = false; RadGrid1.ShowStatusBar = true; RadGrid1.DataSourceID = "ObjectDataSource1"; RadGrid1.ItemDataBound += RadGrid1_ItemDataBound; RadGrid1.UpdateCommand += RadGrid1_UpdateCommand; RadGrid1.MasterTableView.PageSize = 7; RadGrid1.MasterTableView.Height = Unit.Percentage(100); RadGrid1.MasterTableView.DataKeyNames = new string[] { "report_id" }; RadGrid1.MasterTableView.EditMode = GridEditMode.InPlace; GridEditCommandColumn editColumn; editColumn = new GridEditCommandColumn(); editColumn.UniqueName = "EditCommandColumn"; editColumn.ItemStyle.BackColor = disabledBackColor; editColumn.ItemStyle.BorderColor = defaultBorderColor; editColumn.ItemStyle.BorderWidth = Unit.Pixel(1); RadGrid1.MasterTableView.Columns.Add(editColumn); GridColumnGroup headerGroupColumn; GridBoundColumn boundColumn = new GridBoundColumn(); boundColumn.DataField = "report_id"; boundColumn.HeaderText = "report_id"; boundColumn.ItemStyle.BackColor = disabledBackColor; boundColumn.ItemStyle.BorderColor = defaultBorderColor; boundColumn.ItemStyle.BorderWidth = Unit.Pixel(1); boundColumn.ReadOnly = true; RadGrid1.MasterTableView.Columns.Add(boundColumn); RadGrid1.MasterTableView.AllowMultiColumnSorting = true; RadGrid1.MasterTableView.SortExpressions.Clear(); GridSortExpression expression = new GridSortExpression(); expression.FieldName = "report_id"; expression.SortOrder = GridSortOrder.Ascending; RadGrid1.MasterTableView.SortExpressions.AddSortExpression(expression); DataTable GroupHeaders = WastewaterGrid.GetGroupHeaders(); DataTable Headers; foreach (DataRow groupRow in GroupHeaders.Rows) { String masterGroupName = groupRow["group_name"].ToString(); String groupColumnHeader = groupRow["group_column_header"].ToString(); Headers = WastewaterGrid.GetHeaders(masterGroupName); headerGroupColumn = new GridColumnGroup(); headerGroupColumn.Name = masterGroupName; headerGroupColumn.HeaderText = groupColumnHeader; RadGrid1.MasterTableView.ColumnGroups.Add(headerGroupColumn); foreach (DataRow headerRow in Headers.Rows) { String groupName = headerRow["group_name"].ToString(); String columnName = headerRow["column_name"].ToString(); String columnHeader = headerRow["column_header"].ToString(); String attributeType = headerRow["attribute_type"].ToString(); String dataType = headerRow["data_type"].ToString(); String targetValue = headerRow["target_value"].ToString(); if (!groupName.Equals(masterGroupName)) { continue; } boundColumn = new GridBoundColumn(); boundColumn.DataField = columnName; boundColumn.HeaderText = columnHeader; // where is the uniquename? boundColumn.ColumnGroupName = masterGroupName; if (columnName.Equals("MISDnotes")) { boundColumn.ItemStyle.Width = Unit.Percentage(100); } if (!attributeType.Equals("ManualEntry")) { boundColumn.ItemStyle.BackColor = disabledBackColor; boundColumn.ReadOnly = true; } RadGrid1.MasterTableView.Columns.Add(boundColumn); } } this.PlaceHolder1.Controls.Add(RadGrid1); } public class FooterItem { private String _columnName; private int _count; private dynamic _min; private dynamic _max; private dynamic _sum; public FooterItem(String str) { _columnName = str; _count = 0; } public String columnName { get { return _columnName; } set { _columnName = value; } } public int count { get { return _count; } set { _count = value; } } public dynamic min { get { return _min; } set { _min = value; } } public dynamic max { get { return _max; } set { _max = value; } } public dynamic sum { get { return _sum; } set { _sum = value; } } } protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e) { Int32 userRole = 2; Int32 today = int.Parse("20110907"); //String today = DateTime.Today.ToString("yyyyMMdd"); String columnName; String attributeType; GridTableCell gridCell; dynamic cellText; Boolean cellPopped = false; TextBox cellTextBox; Dictionary<String, FooterItem> FooterAggregates = new Dictionary<String, FooterItem>(); FooterItem footerItem; DataTable Headers = WastewaterGrid.GetHeaders(); foreach (DataRow row in Headers.Rows) { columnName = row["column_name"].ToString(); attributeType = row["attribute_type"].ToString(); if (!attributeType.Contains("varchar")) { FooterAggregates.Add(columnName, new FooterItem(columnName)); } } if (e.Item is GridDataItem) { GridDataItem gridRow = (GridDataItem)e.Item; Int32 ReportID = int.Parse(gridRow.GetDataKeyValue("report_id").ToString()); System.Drawing.Color defaultBorderColor = System.Drawing.Color.Black; System.Drawing.Color ableBackColor = System.Drawing.Color.White; System.Drawing.Color disabledBackColor = System.Drawing.Color.AliceBlue; System.Drawing.Color ableBorderColor = System.Drawing.Color.Lime; foreach (DataRow row in Headers.Rows) { columnName = row["column_name"].ToString(); attributeType = row["attribute_type"].ToString(); gridCell = (GridTableCell)gridRow[columnName]; //cellText = gridCell.Text; cellText = ((DataRowView)gridRow.DataItem)[columnName]; cellPopped = !String.IsNullOrEmpty((String)cellText); if (cellPopped) { footerItem = FooterAggregates[columnName]; footerItem.count += 1; if (footerItem.min == null) { footerItem.min = cellText; } else { if (footerItem.min > cellText) { footerItem.min = cellText; } } if (footerItem.max == null) { footerItem.max = cellText; } else { if (footerItem.max < cellText) { footerItem.max = cellText; } } if (footerItem.sum == null) { footerItem.sum = cellText; } else { footerItem.sum += cellText; } } gridCell.BorderColor = defaultBorderColor; gridCell.BorderWidth = Unit.Pixel(1); if (userRole == 1) { if (attributeType.Equals("ManualEntry")) { gridCell.BackColor = ableBackColor; gridCell.BorderColor = ableBorderColor; } } else { if (attributeType.Equals("ManualEntry")) { if (!ReportID.Equals(today)) { if (String.IsNullOrEmpty(cellText)) { gridCell.BackColor = ableBackColor; gridCell.BorderColor = ableBorderColor; } else { gridCell.BackColor = disabledBackColor; } } else { gridCell.BackColor = ableBackColor; gridCell.BorderColor = ableBorderColor; } } if (e.Item.IsInEditMode && !ReportID.Equals(today) && cellPopped) { cellTextBox = (TextBox)gridCell.Controls[0]; cellTextBox.BorderStyle = BorderStyle.None; cellTextBox.BackColor = disabledBackColor; cellTextBox.ReadOnly = true; //Label1.Text += "EditMode::ReportID=" + ReportID + "columnName=" + columnName + "::cellText=" + cellText + " <br>"; } } } } if (e.Item is GridFooterItem) { GridFooterItem gridRow = (GridFooterItem)e.Item; int count = 0; dynamic min; dynamic max; dynamic sum; foreach (DataRow row in Headers.Rows) { columnName = row["column_name"].ToString(); attributeType = row["attribute_type"].ToString(); gridCell = (GridTableCell)gridRow[columnName]; //cellText = gridCell.Text; cellText = ((DataRowView)gridRow.DataItem)[columnName]; footerItem = FooterAggregates[columnName]; count += footerItem.count; } } } private void RadGrid1_UpdateCommand(object source, GridCommandEventArgs e) { Label1.Text += " Table to be updated: " + e.Item.OwnerTableView.DataMember + "<br>"; GridEditableItem editedItem = e.Item as GridEditableItem; GridEditManager editMan = editedItem.EditManager; Int32 ReportID = int.Parse(editedItem.OwnerTableView.DataKeyValues[editedItem.ItemIndex]["report_id"].ToString()); String Login = "David-T420s\\davidk"; foreach (GridColumn column in e.Item.OwnerTableView.RenderColumns) { if (column.UniqueName.Equals("report_id")) { continue; } if (column is IGridEditableColumn) { Boolean isEditable = column.IsEditable; String editColumnName = column.UniqueName.ToString(); String ResultString; IGridEditableColumn editableCol = (column as IGridEditableColumn); if (editableCol.IsEditable) { IGridColumnEditor editor = editMan.GetColumnEditor(editableCol); if (editor is GridTextColumnEditor) { String Datum = (editor as GridTextColumnEditor).Text.Trim(); DataTable Headers = WastewaterGrid.GetHeaders(); foreach (DataRow row in Headers.Rows) { String columnName = row["column_name"].ToString(); String dataType = row["data_type"].ToString(); if (columnName.Equals(editColumnName)) { ResultString = ValidateUserInput(dataType, Datum); if (!ResultString.Equals("valid")) { RadAjaxManager1.Alert(ResultString); e.Canceled = true; break; } else { try { WastewaterGrid.UpsertDatum(ReportID, editColumnName, Datum, Login); } catch (Exception ex) { Label1.Text += "<strong>Unable to set value of column '" + column.UniqueName + "'</strong> <br>" + ex.Message; RadAjaxManager1.Alert("Unable to set value of column: " + column.UniqueName + "; " + ex.Message); e.Canceled = true; break; } } } } } } } } try { WastewaterGrid.ReCalculate(ReportID); } catch (Exception ex) { RadAjaxManager1.Alert("Unable to run ReCalculate: " + ex.Message); e.Canceled = true; } } private String ValidateUserInput(String dataType, String Datum) { if (String.IsNullOrEmpty(Datum)) { return "valid"; } Match match; String ResultString; String TestString; Int32 stringLength = Datum.Length; String IntPattern = @"^\d+$"; RadAjaxManager1.Alert("VALIDATEUSERINPUT: dataType=\"" + dataType + "\"; Datum=\"" + Datum + "\""); switch (dataType) { case "bigint": match = Regex.Match(Datum, IntPattern); if (match.Success) { try { TestString = Int64.Parse(Datum).ToString(); } catch (OverflowException) { return "Overflow Exception: improper " + dataType + "format in \"" + Datum + "\""; } } else { return "Improper format: Int64"; } break; case "decimal(10,2)": ResultString = ValidateDecimalFormat(dataType, Datum, stringLength, 10, 2); if (!ResultString.Equals("valid")) { return ResultString; } else { try { TestString = Decimal.Parse(Datum).ToString(); } catch (OverflowException) { return "Overflow Exception: improper " + dataType + "format in \"" + Datum + "\""; } } break; case "decimal(10,3)": ResultString = ValidateDecimalFormat(dataType, Datum, stringLength, 10, 3); if (!ResultString.Equals("valid")) { return ResultString; } else { try { TestString = Decimal.Parse(Datum).ToString(); } catch (OverflowException) { return "Overflow Exception: improper " + dataType + "format in \"" + Datum + "\""; } } break; case "decimal(4,1)": ResultString = ValidateDecimalFormat(dataType, Datum, stringLength, 4, 1); if (!ResultString.Equals("valid")) { return ResultString; } else { try { TestString = Decimal.Parse(Datum).ToString(); } catch (OverflowException) { return "Overflow Exception: improper " + dataType + "format in \"" + Datum + "\""; } } break; case "decimal(5,1)": ResultString = ValidateDecimalFormat(dataType, Datum, stringLength, 5, 1); if (!ResultString.Equals("valid")) { return ResultString; } else { try { TestString = Decimal.Parse(Datum).ToString(); } catch (OverflowException) { return "Overflow Exception: improper " + dataType + "format in \"" + Datum + "\""; } } break; case "decimal(6,1)": ResultString = ValidateDecimalFormat(dataType, Datum, stringLength, 6, 1); if (!ResultString.Equals("valid")) { return ResultString; } else { try { TestString = Decimal.Parse(Datum).ToString(); } catch (OverflowException) { return "Overflow Exception: improper " + dataType + "format in \"" + Datum + "\""; } } break; case "int": match = Regex.Match(Datum, IntPattern); if (match.Success) { try { TestString = Int32.Parse(Datum).ToString(); //throw new CustomExceptions. } catch (OverflowException) { return "Overflow Exception: improper " + dataType + "format in \"" + Datum + "\""; } } else { return "Improper format: Int32"; } break; case "varchar(25)": if (stringLength > 25) { return "Improper " + dataType + "format in \"" + Datum + "\""; } break; case "varchar(255)": if (stringLength > 255) { return "Improper " + dataType + "format in \"" + Datum + "\""; } break; default: RadAjaxManager1.Alert("Unhandled data type"); return "Unhandled data type: \"" + dataType + "\""; } return "valid"; } private String ValidateDecimalFormat(String dataType, String Datum, int stringLength, int precision, int scale) { Match match; String IntPattern = @"^\d+$"; String ResultString; Int32 decimalIndex = Datum.IndexOf("."); if (decimalIndex > 0) { Int32 fractionalLength = stringLength - decimalIndex - 1; if (fractionalLength > scale) { return "Improper " + dataType + "format in \"" + Datum + "\""; } Int32 integralLength = stringLength - fractionalLength - 1; if (integralLength > (precision - scale)) { return "Improper " + dataType + "format in \"" + Datum + "\""; } String integralString = Datum.Substring(0, decimalIndex); String fractionalString = Datum.Substring(decimalIndex + 1, fractionalLength); match = Regex.Match(integralString, IntPattern); if (match.Success) { match = Regex.Match(fractionalString, IntPattern); if (match.Success) { ResultString = "valid"; } else { ResultString = "Improper " + dataType + "format in \"" + Datum + "\""; } } else { ResultString = "Improper " + dataType + "format in \"" + Datum + "\""; } } else if (stringLength > (precision - scale)) { ResultString = "Improper " + dataType + "format in \"" + Datum + "\""; } else { match = Regex.Match(Datum, IntPattern); if (match.Success) { ResultString = "valid"; } else { ResultString = "Improper " + dataType + "format in \"" + Datum + "\""; } } return ResultString; }}I need to add a default value to one of the textboxes when adding a new item in the grid
<telerik:GridTemplateColumn HeaderText="Activity ID" SortExpression="activityID" UniqueName="activityID" >
<ItemTemplate>
<%# Eval("activityID")%>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox runat="server" ID="txtActivity" Text='<%# Bind("activityID") %>' />
<asp:RequiredFieldValidator runat="server" ID="rfvActivity" ControlToValidate="txtActivity" Display="Dynamic" ErrorMessage="*" />
</EditItemTemplate>
</telerik:GridTemplateColumn>
When clicking “Add new recored” I need to pre-populate the txtActivity textbox. How can I access this from the code behind?
I tried this with no success
protected void RadGrid1_ItemCommand(object source, GridCommandEventArgs e)
{
if (e.CommandName == RadGrid.InitInsertCommandName)
{
GridEditableItem editedItem = e.Item as GridEditableItem;
TextBox t = (TextBox)(editedItem.FindControl("txtActivity"));
}
}
And this:
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
if (e.Item is GridCommandItem && e.Item.OwnerTableView.IsItemInserted)
{
TextBox txtActivity = (TextBox)e.Item.FindControl("txtActivity");
txtActivity.Text = "300";
}
}
I am running out of ideas.
Please help. Thanks
<telerik:GridDateTimeColumn FilterControlWidth="140px" DataField="Datum" HeaderText="Datum" SortExpression="Datum" UniqueName="Datum" PickerType="DateTimePicker" EnableRangeFiltering="true" CurrentFilterFunction="Between" ReadOnly="True" AllowFiltering="True" FilterListOptions="VaryByDataType"> <HeaderStyle Width="220px" /></telerik:GridDateTimeColumn>