LiveResize
="true" ResizeWithBrowserWindow="true" and all combos I could think of. including not specifying width in splitter or/and panes or variations thereon.
<telerik:RadSplitter ID="RadSplitter" runat="server"
Orientation="Vertical" LiveResize="true" ResizeWithBrowserWindow="true"
height="100%" Width="100%"
BackColor="pink">
<telerik:RadPane ID="NavPane" runat="server"
Width="250px"
Height="99%" Scrolling="None" >
<table width="100%">...............................................label and buttons
</
table>
<
telerik:RadTreeView ID="RadTreeRisk" runat="server"
Height="755px" Width="100%" BackColor="yellow"
OnNodeExpand="RadTreeRisk_NodeExpand"
OnNodeClick="RadTreeRisk_NodeClick"
MultipleSelect="false"
CausesValidation="false" />
</telerik:RadPane>
<telerik:RadPane ID="contentPane" runat="server" Scrolling="None"
ContentUrl="" Height="100%" Width="100%"
Collapsed="false" >
...............Some grids and divs for labels (all width=100%)
</telerik:RadPane>
</telerik:RadSplitter>
Private Sub FillTabs()
Dim Expert As New clsExpert
Dim TabDat As Data.DataTable = Expert.GetAssessmentScales()
With RadTabStrip
.DataFieldID =
"AssessmentScale_ID"
.DataFieldParentID =
"AssessmentScaleParent_ID"
.DataTextField =
"AssessmentScale_Title"
.DataValueField =
"AssessmentScale_ID"
.DataSource = TabDat
.DataBind()
.ReorderTabsOnSelect =
"true"
End With
End Sub
My Mark up
<telerik:RadTabStrip
ID="RadTabStrip"
runat="server"
EnableEmbeddedSkins="true"
Skin="Outlook"
SelectedIndex="0"
ReorderTabsOnSelect="True"
PerTabScrolling="True">
</telerik:RadTabStrip>
Andy
<%
@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="SaveAndLoad.aspx.cs" Inherits="SaveAndLoad" %>
<%
@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<
asp:Content ID="Content2" runat="server" contentplaceholderid="ContentPlaceHolder1">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</
asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<telerik:raddocklayout runat="server" enableviewstate="False"
id="RadDockLayout1" onloaddocklayout="RadDockLayout1_LoadDockLayout"
onsavedocklayout="RadDockLayout1_SaveDockLayout"
storelayoutinviewstate="False">
<telerik:raddockzone runat="server" id="RadDockZone2" orientation="vertical"
style="width:300px;min-height:100px;float:left;margin-right:20px;" Width="22px">
<telerik:raddock runat="server" id="RadDock3" title="Databound control"
AutoPostBack="true">
<contenttemplate>
<asp:gridview runat="server" id="GridView1" width="100%">
</asp:gridview>
</contenttemplate>
</telerik:raddock>
</telerik:raddockzone>
<telerik:raddockzone runat="server" id="RadDockZone1" orientation="vertical"
style="width:300px;min-height:100px;float:left;">
<telerik:raddock runat="server" id="RadDock2" title="Text"
text="This is a dock with some text inside" AutoPostBack="true"
CommandsAutoPostBack="True" Skin="Default">
</telerik:raddock>
</telerik:raddockzone>
</telerik:raddocklayout>
</ContentTemplate>
</asp:UpdatePanel>
</
asp:Content>
using
System;
using
System.Collections.Generic;
using
System.Web;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Collections;
using
System.Web.Script.Serialization;
using
System.Data.SqlClient;
using
Telerik.Web.UI;
using
System.Text;
public
partial class SaveAndLoad : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ArrayList source = new ArrayList();
source.Add(
"one");
source.Add(
"two");
source.Add(
"three");
GridView1.DataSource = source;
GridView1.DataBind();
}
protected void RadDockLayout1_LoadDockLayout(object sender, Telerik.Web.UI.DockLayoutEventArgs e)
{
HttpCookie positionsCookie = Request.Cookies.Get(
"positionsCookie");
if (positionsCookie != null)
{
String serializedList = positionsCookie.Value;
if (serializedList != null)
{
String[] states = serializedList.Split('|');
for (int i = 0; i < states.Length-1; i++)
{
DockState state = DockState.Deserialize(states[i]);
RadDock dock = (RadDock)RadDockLayout1.FindControl(state.UniqueName);
dock.Closed =
false;
dock.ApplyState(state);
e.Positions[state.UniqueName] = state.DockZoneID;
e.Indices[state.UniqueName] = state.Index;
}
}
}
}
protected void RadDockLayout1_SaveDockLayout(object sender, Telerik.Web.UI.DockLayoutEventArgs e)
{
HttpCookie positionsCookie = Request.Cookies.Get(
"positionsCookie");
if (positionsCookie == null | Page.IsPostBack)
{
positionsCookie =
new HttpCookie("positionsCookie");
Page.Response.Cookies.Add(positionsCookie);
List<DockState> stateList = ((RadDockLayout)sender).GetRegisteredDocksState();
StringBuilder serializedList = new StringBuilder();
for (int i = 0; i < stateList.Count; i++)
{
serializedList.Append(stateList[i].ToString());
serializedList.Append(
"|");
}
positionsCookie.Expires =
DateTime.MaxValue;
positionsCookie.Value = serializedList.ToString();
}
}
protected void RadDock2_Command(object sender, DockCommandEventArgs e)
{
}
}
Thanks in advance.
| <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MaintenanceConsists.aspx.cs" |
| Inherits="Web.MaintenanceConsists" %> |
| <%@ 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></title> |
| <style type="text/css"> |
| html, body, form |
| { |
| height: 100%; |
| padding: 0px; |
| margin: 0px; |
| overflow: hidden; |
| } |
| </style> |
| <telerik:RadScriptBlock runat="server" ID="scriptBlock"> |
| <script type="text/javascript"> |
| function onRowDropping(sender, args) |
| { |
| if (sender.get_id() == "<%=uxRadGridAvailable.ClientID %>") |
| { |
| var node = args.get_destinationHtmlElement(); |
| if(!isChildOf('<%=uxRadGridSelected.ClientID %>', node) && !isChildOf('<%=uxRadGridAvailable.ClientID %>', node) ) |
| { |
| args.set_cancel(true); |
| } |
| } |
| if (sender.get_id() == "<%=uxRadGridSelected.ClientID %>") |
| { |
| var node = args.get_destinationHtmlElement(); |
| if(!isChildOf('<%=uxRadGridAvailable.ClientID %>', node) && !isChildOf('<%=uxRadGridSelected.ClientID %>', node) ) |
| { |
| args.set_cancel(true); |
| } |
| } |
| } |
| function isChildOf(parentId, element) |
| { |
| while(element) |
| { |
| if (element.id && element.id.indexOf(parentId) > -1) |
| { |
| return true; |
| } |
| elementelement = element.parentNode; |
| } |
| return false; |
| } |
| function centerUpdatePanel() |
| { |
| centerElementOnScreen(document.getElementById("uxRadAjaxLoadingPanel")); |
| } |
| function centerElementOnScreen(element) |
| { |
| var scrollTop = document.body.scrollTop; |
| var scrollLeft = document.body.scrollLeft; |
| var viewPortHeight = document.body.clientHeight; |
| var viewPortWidth = document.body.clientWidth; |
| if (document.compatMode == "CSS1Compat") |
| { |
| viewPortHeight = document.documentElement.clientHeight; |
| viewPortWidth = document.documentElement.clientWidth; |
| scrollTop = document.documentElement.scrollTop; |
| scrollLeft = document.documentElement.scrollLeft; |
| } |
| var topOffset = Math.ceil(viewPortHeight/2 - element.offsetHeight/2); |
| var leftOffset = Math.ceil(viewPortWidth/2 - element.offsetWidth/2); |
| var top = scrollTop + topOffset - 40; |
| var left = scrollLeft + leftOffset - 70; |
| element.style.position = "absolute"; |
| element.style.top = top + "px"; |
| element.style.left = left + "px"; |
| } |
| </script> |
| </telerik:RadScriptBlock> |
| </head> |
| <body> |
| <form id="form1" runat="server"> |
| <asp:ScriptManager ID="ScriptManager" runat="server" /> |
| <telerik:RadAjaxLoadingPanel IsSticky="true" ID="uxRadAjaxLoadingPanel" runat="server" |
| Height="75px" Width="75px"> |
| <img alt="Loading..." src='<%= RadAjaxLoadingPanel.GetWebResourceUrl(Page, "Telerik.Web.UI.Skins.Default.Ajax.loading1.gif") %>' |
| style="border: 0px;" /> |
| </telerik:RadAjaxLoadingPanel> |
| <telerik:RadAjaxManager runat="server" ID="uxRadAjaxManager"> |
| <ClientEvents OnRequestStart="centerUpdatePanel();"></ClientEvents> |
| <AjaxSettings> |
| <telerik:AjaxSetting AjaxControlID="uxRadGridAvailable"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="uxRadGridAvailable" LoadingPanelID="uxRadAjaxLoadingPanel" /> |
| <telerik:AjaxUpdatedControl ControlID="uxRadGridSelected" LoadingPanelID="uxRadAjaxLoadingPanel" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| <telerik:AjaxSetting AjaxControlID="uxRadGridSelected"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="uxRadGridAvailable" LoadingPanelID="uxRadAjaxLoadingPanel" /> |
| <telerik:AjaxUpdatedControl ControlID="uxRadGridSelected" LoadingPanelID="uxRadAjaxLoadingPanel" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| </AjaxSettings> |
| </telerik:RadAjaxManager> |
| <telerik:RadSplitter ID="uxRadSplitter" runat="server" Width="100%" Height="100%" |
| Orientation="Horizontal" BorderSize="0" BorderStyle="None" Skin="Web20" VisibleDuringInit="False"> |
| <telerik:RadPane ID="uxRadPaneHeader" runat="server" Height="100px"> |
| Header Pane |
| </telerik:RadPane> |
| <telerik:RadSplitBar ID="uxRadSplitBarHeader" runat="server" CollapseMode="Forward" /> |
| <telerik:RadPane ID="uxRadPaneDetail" runat="server" Scrolling="None"> |
| <telerik:RadSplitter ID="uxRadSplitterDetail" runat="server" Skin="Web20" VisibleDuringInit="False"> |
| <telerik:RadPane ID="uxRadePaneLeft" runat="server"> |
| <telerik:RadGrid runat="server" ID="uxRadGridAvailable" Skin="Office2007" OnNeedDataSource="uxRadGridAvailable_NeedDataSource" |
| AllowMultiRowSelection="True" AutoGenerateColumns="False" OnRowDrop="uxRadGridAvailable_RowDrop" |
| GridLines="None" Height="100%" Width="100%" BorderStyle="None" AllowPaging="True" |
| PageSize="50"> |
| <MasterTableView DataKeyNames="assetID" TableLayout="Fixed" Caption="Equipment" EnableNoRecordsTemplate="False"> |
| <RowIndicatorColumn> |
| <HeaderStyle Width="20px" /> |
| </RowIndicatorColumn> |
| <ExpandCollapseColumn> |
| <HeaderStyle Width="20px" /> |
| </ExpandCollapseColumn> |
| <Columns> |
| <telerik:GridBoundColumn DataField="assetID" HeaderText="Equipment ID" UniqueName="column"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn DataField="category" HeaderText="Category" UniqueName="column1"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn DataField="type" HeaderText="Type" UniqueName="column2"> |
| </telerik:GridBoundColumn> |
| </Columns> |
| <SortExpressions> |
| <telerik:GridSortExpression FieldName="assetID" /> |
| </SortExpressions> |
| </MasterTableView> |
| <ClientSettings AllowRowsDragDrop="True"> |
| <Selecting AllowRowSelect="True" EnableDragToSelectRows="true" /> |
| <ClientEvents OnRowDropping="onRowDropping" /> |
| <Scrolling AllowScroll="true" UseStaticHeaders="true" /> |
| </ClientSettings> |
| <HeaderContextMenu EnableTheming="True" Skin="Office2007"> |
| <CollapseAnimation Duration="200" Type="OutQuint" /> |
| </HeaderContextMenu> |
| <PagerStyle Mode="NextPrevAndNumeric" /> |
| <FilterMenu EnableTheming="True" Skin="Office2007"> |
| <CollapseAnimation Duration="200" Type="OutQuint" /> |
| </FilterMenu> |
| </telerik:RadGrid> |
| </telerik:RadPane> |
| <telerik:RadSplitBar ID="uxRadSplitBarDetail" runat="server" /> |
| <telerik:RadPane ID="uxRadPaneRight" runat="server"> |
| <telerik:RadGrid runat="server" ID="uxRadGridSelected" Skin="Office2007" OnNeedDataSource="uxRadGridSelected_NeedDataSource" |
| Width="100%" AllowMultiRowSelection="True" AutoGenerateColumns="False" OnRowDrop="uxRadGridSelected_RowDrop" |
| GridLines="None" BorderStyle="None" Height="100%"> |
| <HeaderContextMenu EnableTheming="True" Skin="Office2007"> |
| <CollapseAnimation Duration="200" Type="OutQuint" /> |
| </HeaderContextMenu> |
| <MasterTableView DataKeyNames="assetID" TableLayout="Fixed" Caption="Positions"> |
| <RowIndicatorColumn> |
| <HeaderStyle Width="20px" /> |
| </RowIndicatorColumn> |
| <ExpandCollapseColumn> |
| <HeaderStyle Width="20px" /> |
| </ExpandCollapseColumn> |
| <Columns> |
| <telerik:GridBoundColumn HeaderText="Equipment ID" DataField="assetID"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn HeaderText="Category" DataField="category"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn HeaderText="Type" DataField="type"> |
| </telerik:GridBoundColumn> |
| </Columns> |
| </MasterTableView> |
| <ClientSettings AllowRowsDragDrop="True"> |
| <Selecting AllowRowSelect="True" EnableDragToSelectRows="true" /> |
| <ClientEvents OnRowDropping="onRowDropping" /> |
| <Scrolling AllowScroll="True" UseStaticHeaders="True" /> |
| </ClientSettings> |
| <FilterMenu EnableTheming="True" Skin="Office2007"> |
| <CollapseAnimation Duration="200" Type="OutQuint" /> |
| </FilterMenu> |
| </telerik:RadGrid> |
| </telerik:RadPane> |
| </telerik:RadSplitter> |
| </telerik:RadPane> |
| <telerik:RadSplitBar ID="RadSplitBarFooter" runat="server" CollapseMode="Backward" /> |
| <telerik:RadPane ID="RadPaneFooter" runat="server" Height="50px"> |
| Footer Pane |
| </telerik:RadPane> |
| </telerik:RadSplitter> |
| </form> |
| </body> |
| </html> |
| using System; |
| using TRMS.Utilities; |
| using System.Data; |
| using Telerik.Web.UI; |
| using System.Web.UI.WebControls; |
| using System.Collections.Generic; |
| using TRMS.BLL; |
| namespace Web |
| { |
| public partial class MaintenanceConsists : System.Web.UI.Page |
| { |
| #region GlobalVariables |
| string TableName = ""; |
| string Fields = ""; |
| #endregion |
| #region Events |
| protected void Page_Load(object sender, EventArgs e) |
| { |
| GetQueryString(); |
| } |
| protected void uxRadGridAvailable_NeedDataSource(object source, GridNeedDataSourceEventArgs e) |
| { |
| uxRadGridAvailable.DataSource = AvailableFields; |
| } |
| protected void uxRadGridSelected_NeedDataSource(object source, GridNeedDataSourceEventArgs e) |
| { |
| uxRadGridSelected.DataSource = SelectedFields; |
| } |
| protected void uxRadGridAvailable_RowDrop(object sender, GridDragDropEventArgs e) |
| { |
| DropRowAvailableGrid(e); |
| } |
| protected void uxRadGridSelected_RowDrop(object sender, GridDragDropEventArgs e) |
| { |
| DropRowSelectedGrid(e); |
| } |
| #endregion |
| #region Methods |
| private void GetQueryString() |
| { |
| TableName = Request.QueryString.Get("Table"); |
| Fields = Request.QueryString.Get("Fields"); |
| } |
| protected IList<Field> AvailableFields |
| { |
| get |
| { |
| try |
| { |
| object obj = Session["AvailableFields"]; |
| if (obj == null) |
| { |
| obj = GetAvailableFields(); |
| if (obj != null) |
| { |
| Session["AvailableFields"] = obj; |
| } |
| else |
| { |
| obj = new List<Field>(); |
| } |
| } |
| return (IList<Field>)obj; |
| } |
| catch |
| { |
| Session["AvailableFields"] = null; |
| } |
| return new List<Field>(); |
| } |
| set { Session["AvailableFields"] = value; } |
| } |
| protected IList<Field> SelectedFields |
| { |
| get |
| { |
| try |
| { |
| object obj = Session["SelectedFields"]; |
| if (obj == null) |
| { |
| Session["SelectedFields"] = obj = new List<Field>(); |
| } |
| return (IList<Field>)obj; |
| } |
| catch |
| { |
| Session["SelectedFields"] = null; |
| } |
| return new List<Field>(); |
| } |
| set { Session["SelectedFields"] = value; } |
| } |
| protected IList<Field> GetAvailableFields() |
| { |
| string AssetID = ""; |
| string Category = ""; |
| string AssetType = ""; |
| IList<Field> results = new List<Field>(); |
| if (!StringUtility.IsNullOrEmptyString(TableName) && !StringUtility.IsNullOrEmptyString(Fields)) |
| { |
| DataSet availableDataSet = MaintenanceConsistsBLLC.GetEquipmentAndTypes(TableName, Fields); |
| if (availableDataSet != null) |
| { |
| try |
| { |
| foreach (DataRow dataRow in availableDataSet.Tables[0].Rows) |
| { |
| AssetID = dataRow["AssetID"].ToString(); |
| Category = dataRow["Category"].ToString(); |
| AssetType = dataRow["AssetType"].ToString(); |
| results.Add(new Field(AssetID, Category, AssetType)); |
| } |
| } |
| catch |
| { |
| results.Clear(); |
| } |
| } |
| else |
| { |
| results = null; |
| } |
| } |
| else |
| { |
| results = null; |
| } |
| return results; |
| } |
| private void DropRowAvailableGrid(GridDragDropEventArgs e) |
| { |
| if (string.IsNullOrEmpty(e.HtmlElement)) |
| { |
| if (e.DraggedItems[0].OwnerGridID == uxRadGridAvailable.ClientID) |
| { |
| // items are drag from available to selected grid |
| if ((e.DestDataItem == null && SelectedFields.Count == 0) || |
| e.DestDataItem != null && e.DestDataItem.OwnerGridID == uxRadGridSelected.ClientID) |
| { |
| IList<Field> selectedFields = SelectedFields; |
| IList<Field> availableFields = AvailableFields; |
| foreach (GridDataItem draggedItem in e.DraggedItems) |
| { |
| Field tmpField = GetField(availableFields, (string)draggedItem.GetDataKeyValue("assetID")); |
| if (tmpField != null) |
| { |
| selectedFields.Add(tmpField); |
| availableFields.Remove(tmpField); |
| } |
| } |
| SelectedFields = selectedFields; |
| AvailableFields = availableFields; |
| uxRadGridAvailable.Rebind(); |
| uxRadGridSelected.Rebind(); |
| } |
| else if (e.DestDataItem != null && e.DestDataItem.OwnerGridID == uxRadGridAvailable.ClientID) |
| { |
| //reorder items in available grid |
| IList<Field> availableFields = AvailableFields; |
| Field field = GetField(availableFields, (string)e.DestDataItem.GetDataKeyValue("assetID")); |
| int destinationIndex = availableFields.IndexOf(field); |
| List<Field> fieldsToMove = new List<Field>(); |
| foreach (GridDataItem draggedItem in e.DraggedItems) |
| { |
| Field tmpField = GetField(availableFields, (string)draggedItem.GetDataKeyValue("assetID")); |
| if (tmpField != null) |
| fieldsToMove.Add(tmpField); |
| } |
| foreach (Field fieldToMove in fieldsToMove) |
| { |
| availableFields.Remove(fieldToMove); |
| availableFields.Insert(destinationIndex, fieldToMove); |
| } |
| AvailableFields = availableFields; |
| uxRadGridAvailable.Rebind(); |
| e.DestDataItem.Selected = true; |
| } |
| } |
| } |
| } |
| private void DropRowSelectedGrid(GridDragDropEventArgs e) |
| { |
| if (string.IsNullOrEmpty(e.HtmlElement)) |
| { |
| if (e.DraggedItems[0].OwnerGridID == uxRadGridSelected.ClientID) |
| { |
| // items are drag from selected to available grid |
| if ((e.DestDataItem == null && AvailableFields.Count == 0) || |
| e.DestDataItem != null && e.DestDataItem.OwnerGridID == uxRadGridAvailable.ClientID) |
| { |
| IList<Field> availableFields = AvailableFields; |
| IList<Field> selectedFields = SelectedFields; |
| foreach (GridDataItem draggedItem in e.DraggedItems) |
| { |
| Field tmpField = GetField(selectedFields, (string)draggedItem.GetDataKeyValue("assetID")); |
| if (tmpField != null) |
| { |
| availableFields.Add(tmpField); |
| selectedFields.Remove(tmpField); |
| } |
| } |
| AvailableFields = availableFields; |
| SelectedFields = selectedFields; |
| uxRadGridSelected.Rebind(); |
| uxRadGridAvailable.Rebind(); |
| } |
| else if (e.DestDataItem != null && e.DestDataItem.OwnerGridID == uxRadGridSelected.ClientID) |
| { |
| //reorder items in selected grid |
| IList<Field> selectedFields = SelectedFields; |
| Field field = GetField(selectedFields, (string)e.DestDataItem.GetDataKeyValue("assetID")); |
| int destinationIndex = selectedFields.IndexOf(field); |
| List<Field> fieldsToMove = new List<Field>(); |
| foreach (GridDataItem draggedItem in e.DraggedItems) |
| { |
| Field tmpField = GetField(selectedFields, (string)draggedItem.GetDataKeyValue("assetID")); |
| if (tmpField != null) |
| fieldsToMove.Add(tmpField); |
| } |
| foreach (Field fieldToMove in fieldsToMove) |
| { |
| selectedFields.Remove(fieldToMove); |
| selectedFields.Insert(destinationIndex, fieldToMove); |
| } |
| AvailableFields = selectedFields; |
| uxRadGridSelected.Rebind(); |
| e.DestDataItem.Selected = true; |
| } |
| } |
| } |
| } |
| private static Field GetField(IEnumerable<Field> fieldsToSearchIn, string fieldName) |
| { |
| foreach (Field field in fieldsToSearchIn) |
| { |
| if (field.assetID == fieldName) |
| { |
| return field; |
| } |
| } |
| return null; |
| } |
| #endregion |
| #region Nested type: Field |
| protected class Field |
| { |
| private string _assetID; |
| private string _category; |
| private string _type; |
| public Field(string assetID, string category, string type) |
| { |
| _assetID = assetID; |
| _category = category; |
| _type = type; |
| } |
| public string assetID |
| { |
| get { return _assetID; } |
| } |
| public string category |
| { |
| get { return _category; } |
| } |
| public string type |
| { |
| get { return _type; } |
| } |
| } |
| #endregion |
| } |
| } |

| public static void DefineColumn(string strFile, RadGrid hraGrid) |
| { |
| hraGrid.ItemDataBound += new GridItemEventHandler(default_ItemDataBound); |
| GridBoundColumn myCol = new GridBoundColumn(); |
| hraGrid.MasterTableView.Columns.Add(myCol); |
| myCol.attribute["Type"] = "TextLookup"; |
| myCol.DataField = ; |
| myCol.UniqueName = strBuf; |
| myCol.SortExpression = strBuf; |
| GridBoundColumn myCol2 = new GridBoundColumn(); |
| hraGrid.MasterTableView.Columns.Add(myCol); |
| myCol2.DataField = ; |
| myCol2.UniqueName = strBuf; |
| myCol2.SortExpression = strBuf; |
| } |
| foreach (GridColumn col in e.Item.OwnerTableView.RenderColumns) |
| { |
| if (col.type == "TextLookup") |
| { |
| item[0].Text = (string)getText(iTextID); |
| } |
| } |