or
| using System; |
| using System.Data; |
| using System.Data.SqlClient; |
| using System.Configuration; |
| using System.Collections; |
| using System.Web; |
| using System.Web.Security; |
| using System.Web.UI; |
| using System.Web.UI.WebControls; |
| using System.Web.UI.WebControls.WebParts; |
| using System.Web.UI.HtmlControls; |
| using System.Web.Script.Serialization; |
| using System.Collections.Generic; |
| using Telerik.Web.UI; |
| using System.Text; |
| public partial class index : System.Web.UI.Page |
| { |
| protected string LoadUserData(string UserAccount) |
| { |
| SqlConnection conn = new SqlConnection("Data Source=(LOCAL);;Initial Catalog=BPMDB;User ID=sa;Password=*******"); |
| conn.Open(); |
| string SQLStr = "SELECT [string] FROM [index_position] WHERE (id_user = '" + UserAccount + "')"; |
| SqlCommand cmd3 = new SqlCommand(SQLStr, conn); |
| SqlDataAdapter sda = new SqlDataAdapter(cmd3); |
| DataTable dt = new DataTable(); |
| sda.Fill(dt); |
| string posiStr = dt.Rows[0].ItemArray[0].ToString(); |
| return posiStr; |
| } |
| protected bool UserDataChecker(string UserAccount) |
| { |
| SqlConnection conn = new SqlConnection("Data Source=(LOCAL);;Initial Catalog=BPMDB;User ID=sa;Password=1*********"); |
| conn.Open(); |
| string SQLStr = "SELECT [string] FROM [index_position] WHERE (id_user = '" + UserAccount + "')"; |
| SqlCommand cmd3 = new SqlCommand(SQLStr, conn); |
| SqlDataReader dr = cmd3.ExecuteReader(); |
| if (dr.Read()) |
| { |
| //not insert |
| return true; |
| } |
| else |
| { |
| //insert |
| return false; |
| } |
| } |
| private bool _dockStateCleared = false; |
| private List<DockState> CurrentDockStates |
| { |
| get |
| { |
| List<DockState> _currentDockStates = (List<DockState>)Session["CurrentDockStatesMyPortal"];//UserDataLoader(AspxHelper.LoginUserAccount.ToString()); |
| if (Object.Equals(_currentDockStates, null)) |
| { |
| _currentDockStates = new List<DockState>(); |
| Session["CurrentDockStatesMyPortal"] = _currentDockStates; |
| } |
| return _currentDockStates; |
| } |
| set |
| { |
| Session["CurrentDockStatesMyPortal"] = value; |
| } |
| } |
| //private List<DockState> CurrentDockStates = new List<DockState>(); |
| protected void Page_Init(object sender, EventArgs e) |
| { |
| //if(UserDataChecker(AspxHelper.LoginUserAccount.ToString())) |
| // CurrentDockStates = UserDataLoader(AspxHelper.LoginUserAccount.ToString()); |
| foreach (DockState state in CurrentDockStates) |
| { |
| if (state.Closed == false) |
| { |
| RadDock dock = CreateRadDockFromState(state); |
| RadDockLayout1.Controls.Add(dock); |
| CreateSaveStateTrigger(dock); |
| LoadWidget(dock); |
| } |
| } |
| } |
| protected void Page_Load(object sender, EventArgs e) |
| { |
| PageHeader1.SelectedPageIndex = 0; |
| this.Title = "SmartBPM.NET--" + PageHeader1.SelectedPageName; |
| if (!IsPostBack) |
| { |
| DropDownZone.DataBind(); |
| } |
| } |
| private void LoadWidget(RadDock dock) |
| { |
| if (string.IsNullOrEmpty(dock.Tag)) |
| { |
| return; |
| } |
| Control widget = LoadControl(dock.Tag); |
| dock.ContentContainer.Controls.Add(widget); |
| } |
| private void CreateSaveStateTrigger(RadDock dock) |
| { |
| //Ensure that the RadDock control will initiate postback |
| // when its position changes on the client or any of the commands is clicked. |
| //Using the trigger we will "ajaxify" that postback. |
| dock.AutoPostBack = true; |
| dock.CommandsAutoPostBack = true; |
| AsyncPostBackTrigger saveStateTrigger = new AsyncPostBackTrigger(); |
| saveStateTrigger.ControlID = dock.ID; |
| saveStateTrigger.EventName = "DockPositionChanged"; |
| UpdatePanel1.Triggers.Add(saveStateTrigger); |
| saveStateTrigger = new AsyncPostBackTrigger(); |
| saveStateTrigger.ControlID = dock.ID; |
| saveStateTrigger.EventName = "Command"; |
| UpdatePanel1.Triggers.Add(saveStateTrigger); |
| } |
| private RadDock CreateRadDockFromState(DockState state) |
| { |
| //建立一個dock並設定可用之動作(關閉、收合) |
| RadDock dock = new RadDock(); |
| dock.DockMode = DockMode.Docked; |
| dock.ID = string.Format("RadDock{0}", state.UniqueName); |
| dock.ApplyState(state); |
| dock.Commands.Add(new DockCloseCommand()); |
| dock.Commands.Add(new DockExpandCollapseCommand()); |
| return dock; |
| } |
| private RadDock CreateRadDock(string title) |
| { |
| int docksCount = CurrentDockStates.Count; |
| RadDock dock = new RadDock(); |
| dock.DockMode = DockMode.Docked; |
| dock.UniqueName = Guid.NewGuid().ToString(); |
| dock.ID = string.Format("RadDock{0}", dock.UniqueName); |
| dock.Title = title; |
| dock.Text = string.Format("Added at {0}", DateTime.Now); |
| dock.Width = Unit.Pixel(300); |
| dock.Commands.Add(new DockCloseCommand()); |
| dock.Commands.Add(new DockExpandCollapseCommand()); |
| return dock; |
| } |
| protected void RadDockLayout1_LoadDockLayout(object sender, DockLayoutEventArgs e) |
| { |
| //CurrentDockStates = UserDataLoader(AspxHelper.LoginUserAccount.ToString()); |
| JavaScriptSerializer serializer = new JavaScriptSerializer(); |
| string str = LoadUserData(AspxHelper.LoginUserAccount.ToString()); |
| string[] currentDockStates2 = str.Split('|'); |
| foreach (string stringState in currentDockStates2) |
| { |
| if (stringState != string.Empty) |
| { |
| DockState state = serializer.Deserialize<DockState>(stringState); |
| e.Positions[state.UniqueName] = state.DockZoneID; |
| e.Indices[state.UniqueName] = state.Index; |
| } |
| } |
| } |
| protected void RadDockLayout1_SaveDockLayout(object sender, DockLayoutEventArgs e) |
| { |
| string dockState; |
| JavaScriptSerializer serializer = new JavaScriptSerializer(); |
| List<DockState> stateList = RadDockLayout1.GetRegisteredDocksState(); |
| StringBuilder serializedList = new StringBuilder(); |
| int i = 0; |
| while (i < stateList.Count) |
| { |
| serializedList.Append(serializer.Serialize(stateList[i])); |
| serializedList.Append("|"); |
| i++; |
| } |
| dockState = serializedList.ToString(); |
| bool ExistOrNot = UserDataChecker(AspxHelper.LoginUserAccount.ToString()); |
| SqlConnection conn = new SqlConnection("Data Source=(LOCAL);;Initial Catalog=BPMDB;User ID=sa;Password=16*******"); |
| conn.Open(); |
| if (ExistOrNot) |
| { |
| //update |
| string SQLStr = "UPDATE index_position SET string='" + dockState + "' WHERE id_user = '" + AspxHelper.LoginUserAccount + "'"; |
| SqlCommand cmd3 = new SqlCommand(SQLStr, conn); |
| cmd3.ExecuteNonQuery(); |
| } |
| else |
| { |
| //insert |
| string SQLStr = "INSERT INTO index_position(id_user,string)VALUES('" + AspxHelper.LoginUserAccount + "','" + dockState + "')"; |
| SqlCommand cmd3 = new SqlCommand(SQLStr, conn); |
| cmd3.ExecuteNonQuery(); |
| } |
| } |
| public ArrayList GetZones() |
| { |
| ArrayList zones = new ArrayList(); |
| zones.Add(RadDockZone1); |
| zones.Add(RadDockZone2); |
| return zones; |
| } |
| protected void ButtonAddDock_Click(object sender, EventArgs e) |
| { |
| RadDock dock = CreateRadDock(DroptDownWidget.SelectedItem.Text); |
| //find the target zone and add the new dock there |
| RadDockZone dz = (RadDockZone)FindControl(DropDownZone.SelectedItem.Text); |
| dz.Controls.Add(dock); |
| CreateSaveStateTrigger(dock); |
| //Load the selected widget in the RadDock control |
| dock.Tag = DroptDownWidget.SelectedValue; |
| LoadWidget(dock); |
| } |
| protected void ButtonPostBack_Click(object sender, EventArgs e) |
| { |
| } |
| protected void ButtonClear_Click(object sender, EventArgs e) |
| { |
| } |
| } |
| <telerik:RadGrid ID="RadGrid2" |
| AllowMultiRowSelection="True" |
| AllowSorting="True" |
| AllowNaturalSort="True" |
| AutoGenerateColumns="False" |
| AlternatingItemStyle-HorizontalAlign="Center" |
| BackColor="#ffffff" |
| CellPadding="2" |
| CellSpacing="2" |
| GridLines="None" |
| GroupingEnabled="False" |
| HeaderStyle-Height="20" |
| Height="200" |
| ItemStyle-HorizontalAlign="Center" |
| OnItemCommand="RadGrid2_ItemCommand" |
| OnItemDataBound="RadGrid2_ItemDataBound" |
| SelectedItemStyle-ForeColor="#000000" |
| SelectedItemStyle-BackColor="lightyellow" |
| ShowHeader="True" |
| Skin="Telerik" |
| Width="100%" |
| runat="server"> |
| <MasterTableView AllowMultiColumnSorting="False" DataKeyNames="ID,NUMBER" EditMode="InPlace" TableLayout="Fixed" HeaderStyle-Wrap="false" Width="100%"> |
| <Columns> |
| ............. |
| </Columns> |
| </MasterTableView> |
| <ClientSettings AllowColumnsReorder="True"> |
| <Resizing AllowColumnResize="True" AllowRowResize="False" ResizeGridOnColumnResize="False" /> |
| <Scrolling AllowScroll="True" UseStaticHeaders="True" SaveScrollPosition="True"/> |
| <Selecting AllowRowSelect="True" /> |
| </ClientSettings> |
| </telerik:RadGrid> |

| protected MOSSRadEditor _txtSummary; |
| _txtSummary = new MOSSRadEditor(); |
| _txtSummary.ID = "txtSummary"; |
| _txtSummary.Height = Unit.Pixel(300); |
| //getting content |
| _txtSummary.Content = Item["Summary"].ToString(); |
| //setting content |
| Item["Summary"] = _txtSummary.Content; |
| <telerik:RadToolTipManager ID="RadToolTipManager1" runat="server" |
| Position=BottomCenter |
| ContentScrolling=Auto |
| AutoTooltipify="false" |
| HideDelay=5000 |
| Animation="Fade" |
| Skin="Office2007" |
| Width="450px" |
| Height="200px" |
| ManualClose=false |
| OnAjaxUpdate="RadToolTipManager1_AjaxUpdate" |
| OnClientBeforeShow="tooltipPosition" |
| Style="font-size: 18px; text-align: center; font-family: Arial;"> |
| </telerik:RadToolTipManager> |
with the javascript for the OnClientBeforeShow being:
| function tooltipPosition(sender, args) { |
| sender._popupBehavior.set_keepInScreenBounds(false); |
| } |
The version is 2009.1.311.35.
Any suggestions?
Regards
Roger
function Timer_Disable() {
document.body.onmouseup = Timer_Enable;
// disable the Timer so we don't refresh the page
// while the user is entering the data
var timer = $find(timerId);
timer._stopTimer();
window.status = "Refresh disabled during scrolling operation.";
}
function Timer_Enable() {
document.body.onmouseup = null;
// re-enable the Timer
var timer = $find(timerId);
timer._startTimer();
window.status = "";
}
divTimer.Attributes.Add(
"OnMouseDown", "Timer_Disable();");
