
1. I have a grid that is created dynamically where col 1 has a dropdown box. Based on what the user selects in col 1, I should show either a textbox or dropdownlist or datepicker in col 2. How can I accomplish this?
2. Also how do I handle events when the selecteditem in col 1 changes?
The data isn't coming from a datasource, I'll be creating each row programmatically.
Thanks

| <telerik:RadGrid runat="server" ID="rgContents" AutoGenerateColumns="false" |
| AllowPaging="true" AllowCustomPaging="true" PageSize="10" |
| OnPageIndexChanged="rgContents_PageIndexChanged" |
| OnItemDataBound="rgContents_ItemDataBound"> |
| <MasterTableView> |
| <Columns> |
| <telerik:GridTemplateColumn> |
| <ItemTemplate> |
| Times: <asp:Literal ID="ltlTimes" runat="server" /> |
| </ItemTemplate> |
| </telerik:GridTemplateColumn> |
| </Columns> |
| </MasterTableView> |
| <PagerStyle Mode="NextPrevNumericAndAdvanced" /> |
| </telerik:RadGrid> |
| private int Times |
| { |
| get |
| { |
| return ViewState["Times"] != null ? (int)ViewState["Times"] : 0; |
| } |
| set |
| { |
| ViewState["Times"] = value; |
| } |
| } |
| protected void Page_Load(object sender, EventArgs e) |
| { |
| if (!IsPostBack) |
| { |
| Bind(); |
| } |
| } |
| protected void rgContents_PageIndexChanged(object source, GridPageChangedEventArgs e) |
| { |
| rgContents.CurrentPageIndex = e.NewPageIndex; |
| Bind(); |
| } |
| protected void rgContents_ItemDataBound(object sender, GridItemEventArgs e) |
| { |
| if (e.Item.ItemType == GridItemType.Item || e.Item.ItemType == GridItemType.AlternatingItem) |
| { |
| Times = Times + 1; |
| Literal ltlTimes = e.Item.FindControl("ltlTimes") as Literal; |
| ltlTimes.Text = Times.ToString(); |
| } |
| } |
| private void Bind() |
| { |
| var biz = new ContentBiz(); |
| var contents = biz.GetAll(); |
| int pageSize = rgContents.PageSize; |
| int start = rgContents.CurrentPageIndex * pageSize; |
| int count = contents.Count(); |
| var dataSource = contents.Skip(start).Take(pageSize); |
| rgContents.VirtualItemCount = count; |
| rgContents.DataSource = dataSource; |
| rgContents.DataBind(); |
| } |
I've spent some time trying to bind a dataset to a treeview where there are three tables each with a different set of columns.
Three tables; Customer, Order and LineItem
Customer [CustomerId, Name]
Order [OrderId, CustomerId, OrderReference]
LineItem [LineItemId, OrderId, ProductName, Quantity]
The theory was... Create a Dataset with apporpriate relations and bind it server side. However it doesn't seem to work - I only can see the top level and if as I specify the DataMember attribute, It doesn't even use the name property to set the text.
Any help appreciated. Is the only solution to create the nodes server side programatically and add them to the tree?
<telerik:RadTreeView ID="treeCustomer" runat="server">
<DataBindings>
<telerik:RadTreeNodeBinding Depth="0" TextField="Name" ValueField="CustomerId" DataMember="Customer" />
<telerik:RadTreeNodeBinding Depth="1" TextField="OrderReference" ValueField="OrderId" DataMember="Order" />
<telerik:RadTreeNodeBinding Depth="2" TextField="ProductName" ValueField="LineItemId" DataMember="LineItem" />
</DataBindings>
</telerik:RadTreeView>
| <telerik:RadScriptManager ID="ScriptManager1" runat="server" /> |
| <telerik:RadEditor runat="server" ID="RadEditor1" SkinID="MinimalSetOfTools" Height="400px"> |
| <ContextMenus> |
| <telerik:EditorContextMenu TagName="TABLE"> |
| <telerik:EditorTool Name="EditTable" Text="Edit" /> |
| </telerik:EditorContextMenu> |
| <telerik:EditorContextMenu TagName="TH"> |
| <telerik:EditorTool Name="EditTable" Text="Edit" /> |
| </telerik:EditorContextMenu> |
| <telerik:EditorContextMenu TagName="TR"> |
| <telerik:EditorTool Name="EditTable" Text="Edit" /> |
| </telerik:EditorContextMenu> |
| <telerik:EditorContextMenu TagName="TD"> |
| <telerik:EditorTool Name="EditTable" Text="Edit" /> |
| </telerik:EditorContextMenu> |
| </ContextMenus> |
| <Content> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml" > |
| <body> |
| Right-click on image to see custom menu |
| <img style="marign-left: 6px" width="179px" height="28px" src="../../Img/productLogoLight.gif" /><br/><br/> |
| <p>Right-click here to see the custom Paragraph menu.<br/></p><br/> |
| Right-click on the link to see the default link menu disabled: <a href="/">www.telerik.com</a> |
| <table> |
| <tr> |
| <td><div contentEditable="false" unselectable="on">table content</div></td> |
| </tr> |
| </table> |
| </body> |
| </html> |
| </Content> |
| </telerik:RadEditor> |