.RadTabStrip_an12 .rtsLI,.RadTabStrip_an12 .rtsLink{ color: #000; font: 12px/26px "Segoe UI", Arial, sans-serif;}.RadTabStripLeft_an12 .rtsSeparator,.RadTabStripRight_an12 .rtsSeparator{ background: #828282;}/* <disabled tabs> */.RadTabStrip_an12 .rtsDisabled{ color: #aaa;}/* </disabled tabs> *//* <scrolling arrows> */.RadTabStrip_an12 .rtsNextArrow,.RadTabStrip_an12 .rtsPrevArrow,.RadTabStrip_an12 .rtsPrevArrowDisabled,.RadTabStrip_an12 .rtsNextArrowDisabled{ background-image: url('TabStrip/TabStripStates.png'); height:48px; width:32px;}.RadTabStrip_an12 .RadTabStripTop_an12 .rtsNextArrow { background-position: 0 -288px; }.RadTabStrip_an12 .RadTabStripTop_an12 .rtsPrevArrow { background-position: -32px -288px; }.RadTabStrip_an12 .RadTabStripTop_an12 .rtsPrevArrowDisabled{ background-position: -64px -288px; }.RadTabStrip_an12 .RadTabStripTop_an12 .rtsNextArrowDisabled{ background-position: -96px -288px; }/* </scrolling arrows> */$find("<%= RadAjaxManager.GetCurrent(Page).ClientID %>").ajaxRequest('ShowRDDAssignmentRow');<telerik:RadAjaxLoadingPanel ID="loadingPanel" Skin="Default" runat="server" /><telerik:RadAjaxManagerProxy ID="RadAjaxManagerProxy" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadAjaxManagerProxy"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="ajaxPanel" LoadingPanelID="loadingPanel" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings></telerik:RadAjaxManagerProxy>I am not sure if my goal is possible with the current design of the RadGrid.
Goal:
To have a RadGrid setup so that the first 2 columns are frozen, and the remaining columns are reorderable and use the reorder animation.
Attempt 1:
Good - I can not start a drag on the first 2 columns
Bad - I can drag one of the AutoGenerated columns over the first 2 column spots and the animation shows the reorder
Good - When dropping over one of the first two columns it will revert back and not actually do the reorder.
...
<ClientSettings AllowColumnsReorder="true" ReorderColumnsOnClient="true" ColumnsReorderMethod="Reorder"
Animation-AllowColumnReorderAnimation="true" Animation-AllowColumnRevertAnimation="true">
</ClientSettings>
<MasterTableView>
<Columns>
<telerik:GridTemplateColumn Reorderable="false"><ItemTemplate>One</ItemTemplate></telerik:GridTemplateColumn>
<telerik:GridTemplateColumn Reorderable="false"><ItemTemplate>Two</ItemTemplate></telerik:GridTemplateColumn>
...AutoGenerated Columns Here
</Columns>
</MasterTableView>
...
Attempt 2:
Good - I can not start a drag on the first 2 columns
Good - I can not drag one of the AutoGenerated columns over the first 2 column spots
Bad - The reorder animation is not working in this case
...
<ClientSettings AllowColumnsReorder="true" ReorderColumnsOnClient="true" ColumnsReorderMethod="Reorder"
Animation-AllowColumnReorderAnimation="true" Animation-AllowColumnRevertAnimation="true"
Scrolling-AutoScroll="true" Scrolling-FrozenColumnsCount="2"
Scrolling-UseStaticHeaders="true" Scrolling-SaveScrollPosition="true">
</ClientSettings>
<MasterTableView>
<Columns>
<telerik:GridTemplateColumn Reorderable="false"><ItemTemplate>One</ItemTemplate></telerik:GridTemplateColumn>
<telerik:GridTemplateColumn Reorderable="false"><ItemTemplate>Two</ItemTemplate></telerik:GridTemplateColumn>
...AutoGenerated Columns Here
</Columns>
</MasterTableView>
...
Any advice or ideas are greatly appreciated.
Thanks!
-Dan
The loading panel shows the first time.
HttpAnalyzer first time:
<table id="ctl39_RadioButtonList_Goal" class="radiobuttonlist-default" border="0" style="width:100%;"> <tr> <td><input id="ctl39_RadioButtonList_Goal_0" type="radio" name="ctl39$RadioButtonList_Goal" value="0" checked="checked" /><label for="ctl39_RadioButtonList_Goal_0">Трудоустройство</label></td> </tr><tr> <td><input id="ctl39_RadioButtonList_Goal_1" type="radio" name="ctl39$RadioButtonList_Goal" value="1" onclick="javascript:setTimeout('__doPostBack(\'ctl39$RadioButtonList_Goal$1\',\'\')', 0)" /><label for="ctl39_RadioButtonList_Goal_1">Практика</label></td> </tr> </table> </div>|61|updatePanel|ctl39_radAjaxManagerSU|<span id="ctl39_radAjaxManager" style="display:none;"></span>|0|hiddenField|__EVENTTARGET||0|hiddenField|__EVENTARGUMENT||0|hiddenField|__LASTFOCUS||1716|hiddenField|__VIEWSTATE|/wEPDwUJNzY4NzI0NDkwD2QWAmYPZBYEAgEPZBYCZg9kFgJmD2QWAmYPFgIeC18hSXRlbUNvdW50AgIWBGYPZBYCZg8VAizQkNC90LrQtdGC0LAg0LrQsNC90LTQuNC00LDRgtCwINC+0L3Qu9Cw0LnQvQMgLSBkAgEPZBYCZg8VAhsi0J/RgNC40L7RgNCx0LDQvdC6IiDQntCQ0J4AZAIDD2QWBmYPDxYCHgdWaXNpYmxlaGQWAgICD2QWBAIDDxBkEBUJBUJsYW5rB0RlZmF1bHQQcnNmIGFkdiBjYXJvdXNlbApyc2YgYmFubmVyC3JzZiBkZWZhdWx0CHJzZiBsZWZ0DHJzZiBubyB0aXRsZQlyc2YgcmlnaHQKcnNmIHNpbXBsZRUJAjE3Ai0xAjI3AjM1AjIxAjMzAjIzAjM0AjIyFCsDCWdnZ2dnZ2dnZxYBZmQCEQ8QZGQWAWZkAgEPDxYCHwFoZGQCCQ9kFhACKA9kFgICAQ8WAh8AAgIWBAIBD2QWAmYPFQJiPHRkPjxhIGhyZWY9Ii9yL2Fib3V0L3ZhY2FuY3kvYW5rZXRhb25saW5lLyI+0JDQvdC60LXRgtCwINC60LDQvdC00LjQtNCw0YLQsCDQvtC90LvQsNC50L08L2E+PC90ZD5SPHRkPjxpbWcgc3JjPSIvaW1hZ2VzL3JjL3BhdGgtdXNlci9hcnJvdy5naWYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgYWx0PSIvIj48L3RkPmQCAg9kFgJmDxUCNjx0ZD48YSBocmVmPSIvci8iPiLQn9GA0LjQvtGA0LHQsNC90LoiINCe0JDQnjwvYT48L3RkPgBkAi4PZBYCAgEPDxYCHgRUZXh0BRzQp9GCLCAwMiDRhNC10LLRgNCw0LvRjyAyMDEyZGQCQg8PFgIeDF9fUFRWX21lbnVJZAI+ZBYCAgEPZBYCAgEPEGRkFgBkAk4PDxYCHwMCggFkFgICAQ9kFgICAQ8QZGQWAGQCVQ9kFgJmD2QWAgIDDw9kFgIeCkVkaXRvck1vZGUFBUZhbHNlFgJmD2QWAmYPZBYEAgEPFCsAAhQrAAIPFgIeC18hRGF0YUJvdW5kZ2QQFgJmAgEWAhQrAAIPZBYCHgJJRAUJdGFiRWRpdG9yZBQrAAIPZBYCHwYFDXRhYlNpbXBsZVRleHRkDxYCZmYWAQVuVGVsZXJpay5XZWIuVUkuUmFkVGFiLCBUZWxlcmlrLldlYi5VSSwgVmVyc2lvbj0yMDEwLjEuNDE1LjM1LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTEyMWZhZTc4MTY1YmEzZDRkFgRmDw9kFgIfBgUJdGFiRWRpdG9yZAIBDw9kFgIfBgUNdGFiU2ltcGxlVGV4dGQCBQ8UKwACZBUCClBhZ2VWaWV3XzEKUGFnZVZpZXdfMhYCZg9kFgICAQ88KwAWABYCZg8PFgIeBFNraW4FB0RlZmF1bHRkFgJmDw8WBB4VU2hvd0NvbnRlbnREdXJpbmdMb2FkaB4ORGVzdHJveU9uQ2xvc2VoZGQCigEPZBYCAgEPDxYCHhdFbmFibGVBamF4U2tpblJlbmRlcmluZ2hkZAKqAQ8PFgIfAwJJZBYCAgEPZBYCAgEPEGRkFgBkAocCDw8WAh8DAlNkFgICAQ9kFgICAQ8QZGQWAGRk|76|hiddenField|__EVENTVALIDATION|/wEWCQLuqZKrCQLtypk7AvLKmTsC/aWz1QwC65yXTQLVmKOhAQKqz5nVBgK8he+tAgKuvtzaBQ==|0|asyncPostBackControlIDs|||0|postBackControlIDs|||52|updatePanelIDs||tctl39$ctl39$PanelStartPanel,tctl39$radAjaxManagerSU|0|childUpdatePanelIDs|||50|panelsToRefreshIDs||ctl39$ctl39$PanelStartPanel,ctl39$radAjaxManagerSU|2|asyncPostBackTimeout||90|52|formAction||default.aspx?item=r%2fabout%2fvacancy%2fanketaonline|656|updatePanel|ctl39_ctl39_PanelStartPanel|<div id="ctl39_PanelStart"> <table id="ctl39_RadioButtonList_Goal" class="radiobuttonlist-default" border="0" style="width:100%;"> <tr> <td><input id="ctl39_RadioButtonList_Goal_0" type="radio" name="ctl39$RadioButtonList_Goal" value="0" checked="checked" /><label for="ctl39_RadioButtonList_Goal_0">Трудоустройство</label></td> </tr><tr> <td><input id="ctl39_RadioButtonList_Goal_1" type="radio" name="ctl39$RadioButtonList_Goal" value="1" onclick="javascript:setTimeout('__doPostBack(\'ctl39$RadioButtonList_Goal$1\',\'\')', 0)" /><label for="ctl39_RadioButtonList_Goal_1">Практика</label></td> </tr> </table> </div>|0|hiddenField|__EVENTTARGET||0|hiddenField|__EVENTARGUMENT||0|hiddenField|__LASTFOCUS||1716|hiddenField|__VIEWSTATE|/wEPDwUJNzY4NzI0NDkwD2QWAmYPZBYEAgEPZBYCZg9kFgJmD2QWAmYPFgIeC18hSXRlbUNvdW50AgIWBGYPZBYCZg8VAizQkNC90LrQtdGC0LAg0LrQsNC90LTQuNC00LDRgtCwINC+0L3Qu9Cw0LnQvQMgLSBkAgEPZBYCZg8VAhsi0J/RgNC40L7RgNCx0LDQvdC6IiDQntCQ0J4AZAIDD2QWBmYPDxYCHgdWaXNpYmxlaGQWAgICD2QWBAIDDxBkEBUJBUJsYW5rB0RlZmF1bHQQcnNmIGFkdiBjYXJvdXNlbApyc2YgYmFubmVyC3JzZiBkZWZhdWx0CHJzZiBsZWZ0DHJzZiBubyB0aXRsZQlyc2YgcmlnaHQKcnNmIHNpbXBsZRUJAjE3Ai0xAjI3AjM1AjIxAjMzAjIzAjM0AjIyFCsDCWdnZ2dnZ2dnZxYBZmQCEQ8QZGQWAWZkAgEPDxYCHwFoZGQCCQ9kFhACKA9kFgICAQ8WAh8AAgIWBAIBD2QWAmYPFQJiPHRkPjxhIGhyZWY9Ii9yL2Fib3V0L3ZhY2FuY3kvYW5rZXRhb25saW5lLyI+0JDQvdC60LXRgtCwINC60LDQvdC00LjQtNCw0YLQsCDQvtC90LvQsNC50L08L2E+PC90ZD5SPHRkPjxpbWcgc3JjPSIvaW1hZ2VzL3JjL3BhdGgtdXNlci9hcnJvdy5naWYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgYWx0PSIvIj48L3RkPmQCAg9kFgJmDxUCNjx0ZD48YSBocmVmPSIvci8iPiLQn9GA0LjQvtGA0LHQsNC90LoiINCe0JDQnjwvYT48L3RkPgBkAi4PZBYCAgEPDxYCHgRUZXh0BRzQp9GCLCAwMiDRhNC10LLRgNCw0LvRjyAyMDEyZGQCQg8PFgIeDF9fUFRWX21lbnVJZAI+ZBYCAgEPZBYCAgEPEGRkFgBkAk4PDxYCHwMCggFkFgICAQ9kFgICAQ8QZGQWAGQCVQ9kFgJmD2QWAgIDDw9kFgIeCkVkaXRvck1vZGUFBUZhbHNlFgJmD2QWAmYPZBYEAgEPFCsAAhQrAAIPFgIeC18hRGF0YUJvdW5kZ2QQFgJmAgEWAhQrAAIPZBYCHgJJRAUJdGFiRWRpdG9yZBQrAAIPZBYCHwYFDXRhYlNpbXBsZVRleHRkDxYCZmYWAQVuVGVsZXJpay5XZWIuVUkuUmFkVGFiLCBUZWxlcmlrLldlYi5VSSwgVmVyc2lvbj0yMDEwLjEuNDE1LjM1LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTEyMWZhZTc4MTY1YmEzZDRkFgRmDw9kFgIfBgUJdGFiRWRpdG9yZAIBDw9kFgIfBgUNdGFiU2ltcGxlVGV4dGQCBQ8UKwACZBUCClBhZ2VWaWV3XzEKUGFnZVZpZXdfMhYCZg9kFgICAQ88KwAWABYCZg8PFgIeBFNraW4FB0RlZmF1bHRkFgJmDw8WBB4VU2hvd0NvbnRlbnREdXJpbmdMb2FkaB4ORGVzdHJveU9uQ2xvc2VoZGQCigEPZBYCAgEPDxYCHhdFbmFibGVBamF4U2tpblJlbmRlcmluZ2hkZAKqAQ8PFgIfAwJJZBYCAgEPZBYCAgEPEGRkFgBkAocCDw8WAh8DAlNkFgICAQ9kFgICAQ8QZGQWAGRk|76|hiddenField|__EVENTVALIDATION|/wEWCQLuqZKrCQLtypk7AvLKmTsC/aWz1QwC65yXTQLVmKOhAQKqz5nVBgK8he+tAgKuvtzaBQ==|0|asyncPostBackControlIDs|||0|postBackControlIDs|||52|updatePanelIDs||tctl39$ctl39$PanelStartPanel,tctl39$radAjaxManagerSU|0|childUpdatePanelIDs|||27|panelsToRefreshIDs||ctl39$ctl39$PanelStartPanel|2|asyncPostBackTimeout||90|52|formAction||default.aspx?item=r%2fabout%2fvacancy%2fanketaonline|
<%@ Control Language="C#" Inherits="Test" CodeFile="Test.ascx.cs" %><telerik:RadAjaxLoadingPanel ID="LoadingPanel_1" runat="server" IsSticky="false" BackColor="#FFFFFF" Transparency="15" InitialDelayTime="0"></telerik:RadAjaxLoadingPanel> <telerik:RadAjaxManager ID="radAjaxManager" runat="server" RequestQueueSize="50" RestoreOriginalRenderDelegate="True" EnableAJAX="True"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadioButtonList_Goal"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="PanelStart" LoadingPanelID="LoadingPanel_1" UpdatePanelRenderMode="Block" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <div class="ContentForm"> <asp:Panel ID="PanelStart" runat="server" Visible="true"> <asp:RadioButtonList id="RadioButtonList_Goal" runat="server" Width="100%" DataTextField="text" DataValueField="value" AutoPostBack="true" EnableViewState="False"> <asp:ListItem Value="0">Трудоустройство</asp:ListItem> <asp:ListItem Value="1" Selected="True">Практика</asp:ListItem> </asp:RadioButtonList> </asp:Panel> </div>using System;using System.Data;using System.Diagnostics;using System.Web.UI.WebControls;using System.Configuration;using System.Text;using System.Data.SqlClient;using System.Xml;using System.Web.UI;using RSDN;using System.Net;using Telerik.Web.UI;using System.Collections.Generic;using System.Collections;using System.Xml.Linq;namespace AnketaOnline{ public partial class Test : Feedback { /// <summary> /// portlet title /// </summary> public override string GetPortletTitle() { return " AnketaOnline, Анкета по трудоустройству онлайн"; } }}function onCheckBoxClick(chk, comboId) { var text = "", values = ""; var combo = $find(comboId); if (combo != null) { alert('Found ComboBox'); var items = combo.get_items(); if (items != null) { alert('Found Items'); alert('Num Items: ' + items.length); } else { alert('NOT Found Items'); } } else { alert('NOT Found ComboBox'); }public void InstantiateIn(Control container){ chkBox = new CheckBox(); chkBox.ID = string.Format("msChk_{0}", Column); RadComboBoxItem item = (container as RadComboBoxItem); RadComboBox box = (item.Owner as RadComboBox); string _onClick = ""; _onClick = string.Format("onCheckBoxClick({0}, {1})", "this", box.ClientID.ToString()); chkBox.Attributes.Add("onclick", _onClick); chkBox.Text = item.Text; container.Controls.Add(chkBox);}
Thank you for your assistance
Tracy
Private Sub rgvDataExceptions_DetailTableDataBind(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridDetailTableDataBindEventArgs) Handles rgvDataExceptions.DetailTableDataBind Dim SelectedRow As GridDataItem = CType(e.DetailTableView.ParentItem, GridDataItem) Dim intException As Int32 = SelectedRow.GetDataKeyValue("ExceptionID") Dim detailTable As GridTableView = DirectCast(SelectedRow.ChildItem.NestedTableViews(0), GridTableView) SQLDS_DataExceptionsMessage.SelectParameters.Clear() SQLDS_DataExceptionsMessage.SelectParameters.Add("intExceptionId", intException) e.DetailTableView.DataSource = SQLDS_DataExceptionsMessage 'Get value from master table row Dim strExceptionMessage As String = SelectedRow("ExceptionMessage").Text
I would then like to set the bltExceptionMessage,which is a bulled list that is in a template column of the details view
'Dim bltMessages As BulletedList = DirectCast(SelectedRow.FindControl("bltExceptionMessage"), BulletedList) 'Dim aryMessages As New ArrayList 'aryMessages.AddRange(Split(strExceptionMessage, "~")) 'bltMessages.DataSource = aryMessages 'bltMessages.DataBind() End Sub
function openPromoteWindows(RadWindowManagerId) { var oManager = $find(RadWindowManagerId); var oWindows = oManager.GetWindows(); for (i = 0; i < oWindows.length; i++) { var oWindow = oWindows[i]; oWindow.show(); oWindow.Minimize(); oWindow.get_popupElement().style.zIndex = 10000 + i; }}function rwmPromote_Close(sender, eventargs) { var rwm = $find(window['rwmPromoteId']); var oWindows = rwm.GetWindows(); var i; for (i = 0; i < oWindows.length; i++) { var oWindow = oWindows[i]; if (oWindow == sender) break; } if (i < oWindows.length) { rwm._windows.splice(i, 1); }}function rwmPromote_Close(sender, eventargs) { var rwm = $find(window['rwmPromoteId']); var hf = $get(window['hfWindowIdsId']); hf.value = ''; var oWindows = rwm.GetWindows(); var i; for (i = 0; i < oWindows.length; i++) { var oWindow = oWindows[i]; if (oWindow == sender) break; } if (i < oWindows.length) { rwm._windows.splice(i, 1); oWindows = rwm.GetWindows(); for (i = 0; i < oWindows.length; i++) { hf.value += oWindows[i].id + ','; } }}// At the conclusion of every postback hfWindowIds.Value = "";foreach (RadWindow rw in rwmPromote.Windows){ hfWindowIds.Value += rw.ClientID + ',';}// And then on the ValueChanged event for the HiddenField protected void hfWindowIds_ValueChanged(object sender, EventArgs e) { char[] sep = {','}; string[] WindowIds = ((HiddenField)sender).Value.Split(sep, StringSplitOptions.RemoveEmptyEntries); List<RadWindow> rwList = new List<RadWindow>(); foreach (RadWindow rw in rwmPromote.Windows) { if (!WindowIds.Contains(rw.ClientID)) rwList.Add(rw); // No longer open client side } foreach (RadWindow rw in rwList) rwmPromote.Windows.Remove(rw); // Remove each closed window } }