js给FreeTextBox赋值+EXT后台调用赋值方法

来源:互联网 发布:乾隆毁文物 知乎 编辑:程序博客网 时间:2024/05/29 09:08

前台FreeTextBox赋值:

function SetEditorContent(content)
   {
        txt_content_editor.document.body.innerText=content//外显值

      // alert(document.getElementById("txt_content").value);   
   }

 

后台EXT调用

 public void InitEditPlan()
        {
            if (Calendars_ID.Value.ToString() != "")
            {
                DailyArrangeManager DAM = (DailyArrangeManager)(ControlFactory.Instance.CreateManager(typeof(DailyArrangeManager)));
                DailyArrangeDetail detail = DAM.GetArrangeDetailByID(new Guid(Calendars_ID.Value.ToString()));

                FromDate.Value = detail.StartDate;
                endTime.Value = detail.EndDate;
                Ddl_StatrHour.SelectedItem.Value = detail.StartTime.Hour.ToString();
                Ddl_Statrminute.SelectedItem.Value = detail.StartTime.Minute.ToString();
                Ddl_EndrHour.SelectedItem.Value = detail.EndTime.Hour.ToString();
                Ddl_Endminute.SelectedItem.Value = detail.EndTime.Minute.ToString();

                GetArrangePeriod(detail);

                Txt_Place.Text = detail.Place;
                Txt_Subject.Text = detail.Subject;
                string content = Staple.Decode(detail.Content);
                this.btnSave.Text = "修改";

                ScriptManager1.ScriptManager.AddScript("SetEditorContent('" + content + "');");//这个地方
            }
            else
            {
                InitComBox_Bind();
                this.btnSave.Text = "增加";
            }
        }

 

 

完整的前台和后台:【很多,自己备份】

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Calendars.aspx.cs" ResponseEncoding="utf-8"
    Inherits="Com.DRPENG.INFOPLAT.UI.Calendar.Calendars" %>

<%@ Register TagPrefix="ftb" Namespace="FreeTextBoxControls" Assembly="FreeTextBox" %>
<%@ Register Assembly="Coolite.Ext.Web" Namespace="Coolite.Ext.Web" TagPrefix="ext" %>
<!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">
        .body
        {
            font-size: small;
        }
    </style>

    <script type="text/javascript">
  
   function CommandCZ(command,id)
   {
    if(command=="update")
    {
        am.updateAllPlan(id);
    }
    else if(command="delete")
    {
        am.deleteAllPlan(id);
    }
   }
  
   function click()
   {
   return document.location.href='WeekPlan.aspx';
   }
  
  
  
    function RepeatMode()
   {
   
    var revalue = window.showModalDialog('RepeatMode.htm',window,'dialogHeight:350px;dialogWidth:400px; dialogTop:screen.height/4;dialogLeft:screen.width/4; edge:sunken ; center: Yes; help: No; resizable: No; status: No; scroll:No;');
    if(!revalue)return;
    
    var s=parseInt(revalue[0]);
    if(s>0 && revalue.length==1)return;
    
    var v="";w="";
    var dName=new Array("星期天","星期一","星期二","星期三","星期四","星期五","星期六");
    for(i=1;i<revalue.length;i++)
    {
     v += revalue[i] + ",";
     if(s==1)w+=dName[revalue[i]]+",";
    }
    w = w.substr(0,w.length-1);//去掉最后一个逗号
    v = v.substr(0,v.length-1);
    switch(s){
     case 0:
      document.all.Txt_ArrangePeriod.value="每天发生,起止时间段如下:";
      break;
     case 1:
      document.all.Txt_ArrangePeriod.value="每周"+ w +"发生,起止时间段如下:";
      break;
     case 2:
      document.all.Txt_ArrangePeriod.value="每月"+ v +"日发生,起止时间段如下:";
      break;
    }
    
    document.all.Txt_ArrangePeriodHidden.value=s+","+v;
   }
   
   function SetEditorContent(content)
   {
       var editor = document.getElementById("txt_content");
     //  document.getElementById("txt_content").value=content;
     //  FTB_API["txt_content"].SetHtml(content);
                    txt_content_editor.document.body.innerText=content//外显值

      // alert(document.getElementById("txt_content").value);   
   }
    </script>
   
   
   
</head>
<body class="body">
    <form id="form1" runat="server">
    <div>
        <ext:ScriptManager ID="ScriptManager1" runat="server" Hide="True" AjaxMethodNamespace="am" />
        <ext:Store ID="storeToday" runat="server">
            <Reader>
                <ext:JsonReader>
                    <Fields>
                        <ext:RecordField Name="id">
                        </ext:RecordField>
                        <ext:RecordField Name="time">
                        </ext:RecordField>
                        <ext:RecordField Name="business">
                        </ext:RecordField>
                    </Fields>
                </ext:JsonReader>
            </Reader>
        </ext:Store>
        <ext:ViewPort ID="vpt" runat="server">
            <Body>
                <ext:BorderLayout ID="BorderLayout1" runat="server">
                    <Center>
                        <ext:TabPanel runat="server">
                            <Tabs>
                                <ext:Tab ID="MonthProjet" Title="本月计划" runat="server">
                                    <Body>
                                        <table width="800" height="450" border="0" align="center" cellpadding="0" cellspacing="0"
                                            background="../Images/Calenderbg.gif">
                                            <tr>
                                                <td>
                                                    <br />
                                                </td>
                                            </tr>
                                            <tr>
                                                <td align="center" valign="top">
                                                    <table width="700">
                                                        <tr>
                                                            <td align="left">
                                                                <ext:MultiField runat="server">
                                                                    <Fields>
                                                                        <ext:Button ID="btn_primonth" runat="server" Text="上月">
                                                                            <AjaxEvents>
                                                                                <Click OnEvent="btn_primonth_Click" AutoDataBind="true">
                                                                                </Click>
                                                                            </AjaxEvents>
                                                                        </ext:Button>
                                                                        <ext:Label ID="lb_month" runat="server">
                                                                        </ext:Label>
                                                                        <ext:Button ID="btn_nextMonth" runat="server" Text="下月">
                                                                            <AjaxEvents>
                                                                                <Click OnEvent="btn_nextMonth_Click">
                                                                                </Click>
                                                                            </AjaxEvents>
                                                                        </ext:Button>
                                                                        <ext:Hidden ID="hidden_Time" runat="server">
                                                                        </ext:Hidden>
                                                                    </Fields>
                                                                </ext:MultiField>
                                                            </td>
                                                        </tr>
                                                    </table>
                                                    <asp:Table ID="Tb_Calendar" runat="server" Width="700" border="0" CellPadding="0"
                                                        CellSpacing="1" bgcolor="#666666">
                                                    </asp:Table>
                                                </td>
                                            </tr>
                                        </table>
                                    </Body>
                                </ext:Tab>
                                <ext:Tab ID="TodayProjet" Title="本日计划"  runat="server">
                                    <Body>
                                        <ext:BorderLayout runat="server">
                                            <West>
                                                <ext:Panel runat="server" BodyBorder="false" Width="200" region="center">
                                                    <Body>
                                                        <ext:DatePicker ID="dpTime" runat="server">
                                                            <AjaxEvents>
                                                                <Select OnEvent="dpTime_Click">
                                                                </Select>
                                                            </AjaxEvents>
                                                        </ext:DatePicker>
                                                        <ext:Hidden ID="hidden_TodayTime" runat="server">
                                                        </ext:Hidden>
                                                    </Body>
                                                </ext:Panel>
                                            </West>
                                            <Center>
                                                <ext:Panel runat="server" BodyBorder="false" AutoScroll="true" Width="580">
                                                    <Body>
                                                        <ext:GridPanel ID="gpToday" runat="server" StoreID="storeToday" Width="580" Height="580"
                                                            AutoExpandColumn="business">
                                                            <ColumnModel>
                                                                <Columns>
                                                                    <ext:Column ColumnID="time" DataIndex="time" Header="时间" Sortable="true" Width="100"
                                                                        Align="Center">
                                                                    </ext:Column>
                                                                    <ext:Column ColumnID="business" DataIndex="business" Sortable="true" Align="Center">
                                                                    </ext:Column>
                                                                </Columns>
                                                            </ColumnModel>
                                                            <SelectionModel>
                                                                <ext:RowSelectionModel ID="RowSelectionModel1" runat="server" SingleSelect="true" />
                                                            </SelectionModel>
                                                            <LoadMask ShowMask="true" />
                                                            <SaveMask ShowMask="true" />
                                                            <BottomBar>
                                                                <ext:StatusBar runat="server">
                                                                </ext:StatusBar>
                                                            </BottomBar>
                                                        </ext:GridPanel>
                                                    </Body>
                                                </ext:Panel>
                                            </Center>
                                        </ext:BorderLayout>
                                    </Body>
                                </ext:Tab>
                                <ext:Tab ID="AllProjet" Title="所有计划"  runat="server">
                                    <Body>
                                        <ext:BorderLayout runat="server">
                                            <North>
                                                <ext:Panel runat="server" Height="23">
                                                    <Body>
                                                        <ext:MultiField runat="server">
                                                            <Fields>
                                                                <ext:ComboBox ID="Ddl_FindType" runat="server" Width="60">
                                                                    <Items>
                                                                        <ext:ListItem Text="主题" Value="0" />
                                                                        <ext:ListItem Text="时间" Value="1" />
                                                                    </Items>
                                                                    <Listeners>
                                                                        <Select Handler="am.ddlFindType()" />
                                                                    </Listeners>
                                                                </ext:ComboBox>
                                                                <ext:TextField ID="TxtFind" runat="server">
                                                                </ext:TextField>
                                                                <ext:DateField ID="DTTime" runat="server" Vtype="daterange" Hidden="true">
                                                                    <Listeners>
                                                                        <Render Handler="this.endDateField = '#{ToDate}'" />
                                                                    </Listeners>
                                                                </ext:DateField>
                                                                <ext:Label Text="至" ID="lablTishi" runat="server" Hidden="true">
                                                                </ext:Label>
                                                                <ext:DateField runat="server" ID="ToDate" Vtype="daterange" Hidden="true">
                                                                    <Listeners>
                                                                        <Render Handler="this.startDateField = '#{ToDate}'" />
                                                                    </Listeners>
                                                                </ext:DateField>
                                                                <ext:Button runat="server" ID="btnSelect" Text="查询" Icon="Magnifier">
                                                                    <AjaxEvents>
                                                                        <Click OnEvent="btnSelect_Click">
                                                                        </Click>
                                                                    </AjaxEvents>
                                                                </ext:Button>
                                                                <ext:Hidden ID="hid_AllPlan" runat="server">
                                                                </ext:Hidden>
                                                            </Fields>
                                                        </ext:MultiField>
                                                    </Body>
                                                </ext:Panel>
                                            </North>
                                            <Center>
                                                <ext:Panel runat="server" AutoScroll="true">
                                                    <Body>
                                                        <ext:Store ID="storeAllCalend" runat="server">
                                                            <Reader>
                                                                <ext:JsonReader>
                                                                    <Fields>
                                                                        <ext:RecordField Name="ALLCalendID">
                                                                        </ext:RecordField>
                                                                        <ext:RecordField Name="CalendCount">
                                                                        </ext:RecordField>
                                                                        <ext:RecordField Name="CalendSubject">
                                                                        </ext:RecordField>
                                                                        <ext:RecordField Name="CalendStartTime">
                                                                        </ext:RecordField>
                                                                        <ext:RecordField Name="CalendEndTime">
                                                                        </ext:RecordField>
                                                                    </Fields>
                                                                </ext:JsonReader>
                                                            </Reader>
                                                        </ext:Store>
                                                        <ext:BorderLayout runat="server">
                                                            <Center>
                                                                <ext:GridPanel ID="gpAllCalend" runat="server" StoreID="storeAllCalend" Height="400"
                                                                    AutoExpandColumn="CalendSubject">
                                                                    <ColumnModel>
                                                                        <Columns>
                                                                            <ext:Column ColumnID="CalendCount" DataIndex="CalendCount" Sortable="true" Header="序号"
                                                                                Width="40" Align="Center">
                                                                            </ext:Column>
                                                                            <ext:Column ColumnID="CalendSubject" DataIndex="CalendSubject" Sortable="true" Header="主题"
                                                                                Align="Center">
                                                                            </ext:Column>
                                                                            <ext:Column ColumnID="CalendStartTime" DataIndex="CalendStartTime" Sortable="true"
                                                                                Header="开始时间" Align="Center">
                                                                            </ext:Column>
                                                                            <ext:Column ColumnID="CalendEndTime" DataIndex="CalendEndTime" Sortable="true" Header="结束时间"
                                                                                Align="Center">
                                                                            </ext:Column>
                                                                            <ext:CommandColumn>
                                                                                <Commands>
                                                                                    <ext:GridCommand CommandName="update" Text="修改" Icon="Overlays">
                                                                                        <ToolTip Title="修改" />
                                                                                    </ext:GridCommand>
                                                                                    <ext:GridCommand CommandName="delete" Text="删除" Icon="Cancel">
                                                                                        <ToolTip Title="删除" />
                                                                                    </ext:GridCommand>
                                                                                </Commands>
                                                                            </ext:CommandColumn>
                                                                        </Columns>
                                                                    </ColumnModel>
                                                                    <Listeners>
                                                                        <Command Handler="CommandCZ(command,record.data.ALLCalendID)" />
                                                                    </Listeners>
                                                                    <SelectionModel>
                                                                        <ext:RowSelectionModel ID="RowSelectionModel2" runat="server" SingleSelect="true" />
                                                                    </SelectionModel>
                                                                    <LoadMask ShowMask="true" />
                                                                    <SaveMask ShowMask="true" />
                                                                    <BottomBar>
                                                                        <ext:PagingToolbar ID="PagingToolBar1" runat="server" PageSize="14" DisplayInfo="true"
                                                                            DisplayMsg="{0} - {1} of {2}" />
                                                                    </BottomBar>
                                                                </ext:GridPanel>
                                                            </Center>
                                                        </ext:BorderLayout>
                                                    </Body>
                                                </ext:Panel>
                                            </Center>
                                        </ext:BorderLayout>
                                    </Body>
                                </ext:Tab>
                                <ext:Tab ID="EditProjet" Title="编辑计划" AutoScroll="true"  runat="server">
                                    <Body>
                                        <ext:FormPanel runat="server" ID="fp" BodyBorder="false">
                                            <Body>
                                                <ext:Panel ID="Panel1" runat="server" Height="125" BodyBorder="false">
                                                    <Body>
                                                        <ext:FormLayout ID="FormLayout1" runat="server">
                                                            <ext:Anchor>
                                                                <ext:TextField ID="Txt_Subject" runat="server" AllowBlank="false" FieldLabel="主题" Width="300"
                                                                    LabelStyle="text-align:right" BlankText="请输入主题!" MsgTarget="Side">
                                                                </ext:TextField>
                                                            </ext:Anchor>
                                                            <ext:Anchor>
                                                                <ext:TextField ID="Txt_Place" runat="server" AllowBlank="false" FieldLabel="地点"
                                                                    Width="300" LabelStyle="text-align:right" BlankText="请输入地点!" MsgTarget="Side">
                                                                </ext:TextField>
                                                            </ext:Anchor>
                                                            <ext:Anchor>
                                                                <ext:MultiField ID="mf" runat="server" FieldLabel="重复周期" LabelStyle="text-align:right">
                                                                    <Fields>
                                                                        <ext:TextField ID="Txt_ArrangePeriod" runat="server" Width="300" ReadOnly="true"
                                                                            AllowBlank="false" BlankText="请选择重复周期!" MsgTarget="Side">
                                                                        </ext:TextField>
                                                                        <ext:Button ID="btnChoose" runat="server" Text="选择">
                                                                            <Listeners>
                                                                                <Click Handler="RepeatMode()" />
                                                                            </Listeners>
                                                                        </ext:Button>
                                                                        <ext:Hidden ID="Txt_ArrangePeriodHidden" runat="server"></ext:Hidden>
                                                                        <ext:Hidden ID="Calendars_ID" runat="server"></ext:Hidden>
                                                                    </Fields>
                                                                </ext:MultiField>
                                                            </ext:Anchor>
                                                            <ext:Anchor>
                                                                <ext:MultiField ID="MultiField1" runat="server" FieldLabel="开始时间" LabelStyle="text-align:right">
                                                                    <Fields>
                                                                        <ext:DateField runat="server" ID="FromDate" Vtype="daterange" AllowBlank="false"
                                                                            BlankText="请选择开始时间!" MsgTarget="Side">
                                                                            <Listeners>
                                                                                <Render Handler="this.endDateField = '#{endTime}'" />
                                                                            </Listeners>
                                                                        </ext:DateField>
                                                                        <ext:ComboBox ID="Ddl_StatrHour" runat="server" Width="40" ReadOnly="true">
                                                                            <Items>
                                                                            </Items>
                                                                        </ext:ComboBox>
                                                                        <ext:Label ID="lblTime1" runat="server" Text="时">
                                                                        </ext:Label>
                                                                        <ext:ComboBox ID="Ddl_Statrminute" runat="server" Width="40" ReadOnly="true">
                                                                        </ext:ComboBox>
                                                                        <ext:Label ID="lblTime2" runat="server" Text="分">
                                                                        </ext:Label>
                                                                    </Fields>
                                                                </ext:MultiField>
                                                            </ext:Anchor>
                                                            <ext:Anchor>
                                                                <ext:MultiField ID="MultiField2" runat="server" FieldLabel="结束时间" LabelStyle="text-align:right">
                                                                    <Fields>
                                                                        <ext:DateField runat="server" ID="endTime" Vtype="daterange" AllowBlank="false" BlankText="请选择结束时间!"
                                                                            MsgTarget="Side">
                                                                            <Listeners>
                                                                                <Render Handler="this.startDateField = '#{FromDate}'" />
                                                                            </Listeners>
                                                                        </ext:DateField>
                                                                        <ext:ComboBox ID="Ddl_EndrHour" runat="server" Width="40" ReadOnly="true">
                                                                            <Items>
                                                                            </Items>
                                                                        </ext:ComboBox>
                                                                        <ext:Label ID="Label1" runat="server" Text="时">
                                                                        </ext:Label>
                                                                        <ext:ComboBox ID="Ddl_Endminute" runat="server" Width="40" ReadOnly="true">
                                                                            <Items>
                                                                            </Items>
                                                                        </ext:ComboBox>
                                                                        <ext:Label ID="Label2" runat="server" Text="分">
                                                                        </ext:Label>
                                                                    </Fields>
                                                                </ext:MultiField>
                                                            </ext:Anchor>
                                                        </ext:FormLayout>
                                                    </Body>
                                                </ext:Panel>
                                                <ext:Panel runat="server" BodyBorder="false" Height="400">
                                                    <Body>
                                                        <table width="100%">
                                                            <tr>
                                                                <td valign="top" align="right" style="width: 100px">
                                                                    内容 :
                                                                </td>
                                                                <td>
                                                                    <ftb:FreeTextBox ID="txt_content" runat="server" Width="550px" ButtonPath="../images/ftb/office2003/"
                                                                        AutoConfigure="Default" ToolbarType="Office2003" HelperFilesPath="../HelperScripts/"
                                                                        ImageGalleryPath="images">
                                                                    </ftb:FreeTextBox>
                                                                </td>
                                                            </tr>
                                                        </table>
                                                    </Body>
                                                </ext:Panel>
                                            </Body>
                                            <Buttons>
                                                <ext:Button runat="server" ID="btnSave" Text="增加" Icon="Disk">
                                                    <AjaxEvents>
                                                        <Click OnEvent="btnSave_Click" Before="if(!#{fp}.getForm().isValid()){return false;}">
                                                        </Click>
                                                    </AjaxEvents>
                                                </ext:Button>
                                            </Buttons>
                                        </ext:FormPanel>
                                    </Body>
                                </ext:Tab>
                                <ext:Tab ID="WeekBreak" Title="本周课表"  runat="server">
                                    <Listeners>
                                        <Activate Handler="click()" />
                                    </Listeners>
                                    <Body>
                                        <ext:BorderLayout runat="server">
                                            <Center>
                                                <ext:Panel runat="server" Height="600">
                                                    <Body>
                                                        <table cellspacing="0" cellpadding="0" width="100%" height="100%" border="0">
                                                            <tr>
                                                                <td>
                                                                    <iframe width="95%" height="450" name="calendFrame" frameborder="0" scrolling="auto"></iframe>
                                                                </td>
                                                            </tr>
                                                        </table>
                                                    </Body>
                                                </ext:Panel>
                                            </Center>
                                        </ext:BorderLayout>
                                    </Body>
                                </ext:Tab>
                            </Tabs>
                        </ext:TabPanel>
                    </Center>
                </ext:BorderLayout>
            </Body>
        </ext:ViewPort>
    </div>
    </form>
</body>
</html>

 

------------------------------------------
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Com.DRPENG.INFOPLAT.DailyArrangeModel.BusinessModel;
using Com.DRPENG.INFOPLAT.DailyArrangeModel.DataModel;
using Com.DRPENG.INFOPLAT.FactoryModel;
using Com.DRPENG.Common.ControlFactory;
using Com.DRPENG.INFOPLAT.Interface.UserModel.BusinessModel;
using Com.DRPENG.INFOPLAT.Interface.UserModel.DataModel;
using Com.DRPENG.SDXY.BasicData.DataModel;
using Coolite.Ext.Web;
using System.Drawing;
using System.Text;

namespace Com.DRPENG.INFOPLAT.UI.Calendar
{
    public partial class Calendars : Com.DRPENG.Common.WebStruct.BaseForm
    {
        #region 当前用户
        /// <summary>
        /// 取得当前用户
        /// </summary>
        public Com.DRPENG.INFOPLAT.Interface.UserModel.DataModel.InfoPlatUser CurrentlyUser
        {
            get
            {
                return (Com.DRPENG.INFOPLAT.Interface.UserModel.DataModel.InfoPlatUser)Session["Login_User"];
            }

        }

        #endregion
        #region 学分制用户
        /// <summary>
        /// 取得学分制用户
        /// </summary>
        public User user
        {
            get
            {
                return (User)Session["Login_User_M"];
            }
        }
        #endregion

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Ext.IsAjaxRequest)
            {
                hidden_Time.Value = DateTime.Now.ToString();
                this.Ddl_FindType.SelectedItem.Value = "主题";
                InitCalendar();
                InitDayPlan();
                InitAllPlanGrid();
                InitEditPlan();

            }
        }

        #region 取得日期是星期中的第几天
        /// <summary>
        /// 取得日期是星期中的第几天
        /// </summary>
        /// <param name="t"></param>
        public int GetDayOfWeek(DateTime t)
        {
            switch (t.DayOfWeek)
            {
                case DayOfWeek.Sunday:
                    return 0;
                case DayOfWeek.Monday:
                    return 1;
                case DayOfWeek.Tuesday:
                    return 2;
                case DayOfWeek.Wednesday:
                    return 3;
                case DayOfWeek.Thursday:
                    return 4;
                case DayOfWeek.Friday:
                    return 5;
                case DayOfWeek.Saturday:
                    return 6;
            }

            return 1;

        }
        #endregion

        #region 本月计划
        #region 初始化日历
        /// <summary>
        /// 初始化日历
        /// </summary>
        public void InitCalendar()
        {
           
            DailyArrangeManager DAM = (DailyArrangeManager)(ControlFactory.Instance.CreateManager(typeof(DailyArrangeManager)));
            MonthArrange[] montharr = DAM.GetMonthArrangeByUser(CurrentlyUser.ID, DateTime.Parse(hidden_Time.Value.ToString()));

            Tb_Calendar.Rows.Clear();
         
            #region 添加表头
            TableRow tbRow = new TableRow();
            tbRow.BackColor = Color.FromArgb(Convert.ToInt32("D3E0F2", 16));
            tbRow.Height = Unit.Pixel(10);

            TableCell tbCell = new TableCell();
            tbCell.Text = "&nbsp;";
            tbCell.Attributes.Add("colspan", "7");

            tbRow.Cells.Add(tbCell);
            Tb_Calendar.Rows.Add(tbRow);

            tbRow = new TableRow();
            tbRow.BackColor = Color.FromArgb(Convert.ToInt32("ffffff", 16));
            tbRow.HorizontalAlign = HorizontalAlign.Center;
            tbRow.Height = Unit.Pixel(20);

            tbCell = new TableCell();
            tbCell.Text = "<font color=red>星期日</font>";
            tbCell.Width = Unit.Pixel(100);//固定宽度//Yuanding2005-1-18添加
            tbRow.Cells.Add(tbCell);

            tbCell = new TableCell();
            tbCell.Text = "星期一";
            tbCell.Width = Unit.Pixel(100);
            tbRow.Cells.Add(tbCell);

            tbCell = new TableCell();
            tbCell.Text = "星期二";
            tbCell.Width = Unit.Pixel(100);
            tbRow.Cells.Add(tbCell);

            tbCell = new TableCell();
            tbCell.Text = "星期三";
            tbCell.Width = Unit.Pixel(100);
            tbRow.Cells.Add(tbCell);

            tbCell = new TableCell();
            tbCell.Text = "星期四";
            tbCell.Width = Unit.Pixel(100);
            tbRow.Cells.Add(tbCell);

            tbCell = new TableCell();
            tbCell.Text = "星期五";
            tbCell.Width = Unit.Pixel(100);
            tbRow.Cells.Add(tbCell);

            tbCell = new TableCell();
            tbCell.Text = "<font color=red>星期六</font>";
            tbCell.Width = Unit.Pixel(100);
            tbRow.Cells.Add(tbCell);

            Tb_Calendar.Rows.Add(tbRow);
            #endregion

            //计算星期
            DateTime t = DateTime.Parse(hidden_Time.Value.ToString());
            t = new DateTime(t.Year, t.Month, 1);
            int day = 0 - GetDayOfWeek(t);
            lb_month.Text = t.ToString("yyyy年MM月");

            #region 日历表格
            for (int i = 0; i < 6; i++)
            {
                TableRow TitleRow = new TableRow();
                TitleRow.BackColor = Color.FromArgb(Convert.ToInt32("E8F4FF", 16));
                TitleRow.Height = Unit.Pixel(19);

                TableRow ListRow = new TableRow();
                ListRow.BackColor = Color.FromArgb(Convert.ToInt32("ffffff", 16));
                ListRow.Height = Unit.Pixel(45);

                if ((day + 1) > montharr.Length) continue;
                for (int j = 0; j < 7; j++)
                {

                    TableCell TitleCell = new TableCell();
                    TableCell ListCell = new TableCell();

                    if ((++day) >= 1 && day <= montharr.Length)
                    {
                        TitleCell.Text = day.ToString();
                        TitleCell.HorizontalAlign = HorizontalAlign.Right;
                        TitleCell.Style.Add("color", "#666699");
                        TitleCell.Style.Add("font-weight", "bold");
                        if (day == DateTime.Now.Date.Day)
                        {
                            TitleCell.BackColor = Color.FromArgb(Convert.ToInt32("D3E0F2", 16));
                            TitleCell.Style.Add("color", "666699");
                        }


                        for (int k = 0; k < montharr[day - 1].ArrangeCount; k++)
                        {
                            ListCell.Text += "<font style='font-size:12pt;font-family:Wingdings;color:red;'>%</font>";

                            ListCell.Attributes.Add("onclick", string.Format("window.location='DayPlan.aspx?Time={0}-{1}'", DateTime.Parse(hidden_Time.Value.ToString()).ToString("yyyy-MM"), day));
                            ListCell.Attributes.Add("title", "显示详细日程安排");
                            ListCell.Style.Add("cursor", "hand");
                            TitleCell.Attributes.Add("onclick", string.Format("window.location='DayPlan.aspx?Time={0}-{1}'", DateTime.Parse(hidden_Time.Value.ToString()).ToString("yyyy-MM"), day));
                            TitleCell.Attributes.Add("title", "显示详细日程安排");
                            TitleCell.Style.Add("cursor", "hand");
                        }
                        DailyArrangeDetail[] dayDaily = DAM.GetUserArrangeDetailByDate(CurrentlyUser.ID, Convert.ToDateTime((DateTime.Parse(hidden_Time.Value.ToString()).ToString("yyyy-MM") + "-" + day)), Convert.ToDateTime((DateTime.Parse(hidden_Time.Value.ToString()).ToString("yyyy-MM") + "-" + day)));
                        foreach (DailyArrangeDetail tdayDaily in dayDaily)
                        {
                            ListCell.Text += Staple.PadString(tdayDaily.Subject, 25, false);
                        }


                    }

                    TitleRow.Cells.Add(TitleCell);
                    ListRow.Cells.Add(ListCell);
                }

                Tb_Calendar.Rows.Add(TitleRow);
                Tb_Calendar.Rows.Add(ListRow);

                //多了一行则减部分去高度
                if (Tb_Calendar.Rows.Count > 13)
                {
                    Tb_Calendar.Rows[3].Height = Unit.Pixel(37);
                    Tb_Calendar.Rows[5].Height = Unit.Pixel(37);
                    Tb_Calendar.Rows[7].Height = Unit.Pixel(37);
                    Tb_Calendar.Rows[9].Height = Unit.Pixel(37);
                    Tb_Calendar.Rows[11].Height = Unit.Pixel(37);
                    Tb_Calendar.Rows[13].Height = Unit.Pixel(37);
                }

            }

            Tb_Calendar.DataBind();
          
            #endregion
          
        }


        #endregion

   

        #region 上下翻月
        public  void btn_nextMonth_Click(object sender, AjaxEventArgs e)
        {
            hidden_Time.Value = (DateTime.Parse(hidden_Time.Value.ToString())).AddMonths(1).ToString();
           
            InitCalendar();
        }

        public void btn_primonth_Click(object sender, AjaxEventArgs e)
        {
            hidden_Time.Value = (DateTime.Parse(hidden_Time.Value.ToString())).AddMonths(-1).ToString();
            InitCalendar();
        }
        #endregion
        #endregion

        #region 本日计划
        #region 初始化日程明细
        private void InitDayPlan()
        {
           
            DailyArrangeManager DAM = (DailyArrangeManager)(ControlFactory.Instance.CreateManager(typeof(DailyArrangeManager)));

            DayArrange[] dayDaily = null;
            if (hidden_TodayTime.Value !=null && hidden_TodayTime.Value.ToString()!="")
            {
                dayDaily = DAM.GetDayArrangeByUser(CurrentlyUser.ID, DateTime.Parse(hidden_TodayTime.Value.ToString()));
                this.gpToday.ColumnModel.Columns[1].Header = this.dpTime.SelectedDate.ToLongDateString();
            }
            else
            {
                 dayDaily = DAM.GetDayArrangeByUser(CurrentlyUser.ID, DateTime.Now);
                 this.gpToday.ColumnModel.Columns[1].Header = DateTime.Now.ToLongDateString();
            }
         
        
            DataTable dt = new DataTable();

            dt.Columns.Add("id");
            dt.Columns.Add("time");
            dt.Columns.Add("business");
          
           

            #region 日程明细表格
            foreach (DayArrange tdayDaily in dayDaily)
            {
                DataRow tbRow = dt.NewRow();
              
                tbRow["time"] = tdayDaily.Time + ":00";
            

                //显示明细标题连接
                StringBuilder sb = new StringBuilder();
              
                    foreach (DailyArrangeDetail detail in tdayDaily.ArrangeDetails)
                    {
                        tbRow["id"] += detail.ID.ToString()+",";
                        string sbb = "<font style='font-size:12pt;font-family:Wingdings;color:red;'>%</font><span ext:qtip='{0}' style='cursor:hand;' ><font color=/"#999999/">[" + detail.StartTime.ToString("HH:mm") + "-" + detail.EndTime.ToString("HH:mm") + "]</font>" + Staple.PadString(detail.Subject, 50, false) + "</span>";
                        sb.Append( string.Format(sbb, detail.Subject));
                        //tbRow[2] = "<span ext:qtip='" + detail.Subject + "' style='cursor:hand;' >[" + detail.StartTime.ToString("HH:mm") + "-" + detail.EndTime.ToString("HH:mm") + "]" + Staple.PadString(detail.Subject, 50, false) + "</span>";
                        //string sb = "<span ext:qtip='{0}' style='cursor:hand;' >{1}</span>";
                        //tbRow["business"] = detail.Subject.ToString();

                        //sb.Append("<font style='font-size:12pt;font-family:Wingdings;color:red;'>%</font>");
                        //sb.Append(string.Format("<A href='EditPlan.aspx?ID={0}' title='{1}'>", detail.ID.ToString(), detail.Subject));
                        //sb.Append(string.Format("<font color='#999999'>[{0}-{1}]</font>", detail.StartTime.ToString("HH:mm"), detail.EndTime.ToString("HH:mm")));
                        //sb.Append(Staple.PadString(detail.Subject, 25, false));
                        //sb.Append("</A>");
                    }

                    tbRow["business"] = sb.ToString();
                dt.Rows.Add(tbRow);

              
             
            }
            #endregion
            this.gpToday.Reconfigure();
            this.storeToday.DataSource = dt;
            this.storeToday.DataBind();
        }
        #endregion

        public void dpTime_Click(object sender,AjaxEventArgs e)
        {
            hidden_TodayTime.Value = this.dpTime.SelectedDate.ToShortDateString();
            InitDayPlan();
        }
       
        #endregion

        #region 所有计划
        [AjaxMethod]
        public void ddlFindType()
        {
            if (this.Ddl_FindType.SelectedIndex == 1)
            {
                this.DTTime.Hidden = false;
                this.lablTishi.Hidden = false;
                this.ToDate.Hidden = false;
                this.TxtFind.Hidden = true;
            }
            else
            {
                this.DTTime.Hidden = true;
                this.lablTishi.Hidden = true;
                this.ToDate.Hidden = true;
                this.TxtFind.Hidden = false;
            }
        }

        private void InitAllPlanGrid()
        {
            DailyArrangeManager DAM = (DailyArrangeManager)(ControlFactory.Instance.CreateManager(typeof(DailyArrangeManager)));

            #region 根据类型搜索公告
            if (hid_AllPlan.Value.ToString()!= "Find")
            {
                DailyArrangeDetail[] Details = DAM.GetArrangeDetailByUser(CurrentlyUser.ID);
                storeAllCalend.DataSource = getAllPlan(Details);

              
            }
            else
            {
                switch (Ddl_FindType.SelectedItem.Value)
                {
                    case "0":
                        DailyArrangeDetail[] Details = DAM.GetUserArrangeDetailBySubject(CurrentlyUser.ID, TxtFind.Text);
                        storeAllCalend.DataSource = getAllPlan(Details);

                      
                        break;
                    case "1":
                        if (DateTime.Parse(DTTime.Value.ToString()) > DateTime.Parse(ToDate.Value.ToString()))
                        {
                            //  Response.Write("<script language='javascript'>alert('时间查询顺序选择错误,请重新选择!')</script>");
                            Ext.Msg.Show(new MessageBox.Config
                            {
                                Title = "警告",
                                Message = "时间查询顺序选择错误,请重新选择!",
                                Icon = MessageBox.Icon.WARNING,
                                Buttons = MessageBox.Button.OK

                            }
                             ).Show();
                            return;
                        }

                        Details = DAM.GetUserArrangeDetailByDate(CurrentlyUser.ID, DateTime.Parse(DTTime.Value.ToString()), DateTime.Parse(ToDate.Value.ToString()));
                        storeAllCalend.DataSource = getAllPlan(Details);

                    
                        break;
                    default :
                         Details = DAM.GetArrangeDetailByUser(CurrentlyUser.ID);
                        storeAllCalend.DataSource = getAllPlan(Details);
                        break;
                }

            }
            #endregion
            storeAllCalend.DataBind();
        }

        public DataTable getAllPlan(DailyArrangeDetail[] Details)
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("ALLCalendID");
            dt.Columns.Add("CalendCount");
            dt.Columns.Add("CalendSubject");
            dt.Columns.Add("CalendStartTime");
            dt.Columns.Add("CalendEndTime");

            for (int i = 0; i < Details.Length;i++ )
            {
                DataRow row = dt.NewRow();
                DailyArrangeDetail Detail = (DailyArrangeDetail)Details[i];

                row[0] = Detail.ID.ToString();
                row[1] = i + 1;
                string sb = "<span ext:qtip='{0}' style='cursor:hand;' >{1}</span>";
                row[2] = string.Format(sb, Detail.Subject, Staple.PadString(Detail.Subject, 50, false));
                row[3] = Detail.StartDate.ToString("yyyy-MM-dd") + " " + Detail.StartTime.ToString("HH:mm");
                row[4] = Detail.EndDate.ToString("yyyy-MM-dd") + " " + Detail.EndTime.ToString("HH:mm");
                dt.Rows.Add(row);
            }
            return dt;
        }

        public void btnSelect_Click(object sender,AjaxEventArgs e)
        {
            hid_AllPlan.Value = "Find";
            InitAllPlanGrid();
        }

        [AjaxMethod]
        public void deleteAllPlan(string id)
        {

             try
            {
                Ext.Msg.Confirm("温馨提示", "确认要删除该日程安排吗?", new MessageBox.ButtonsConfig
                {
                    Yes = new MessageBox.ButtonConfig
                    {
                        Handler = string.Format("am.DoYes('{0}')", id),
                        Text = "确定"
                    },
                    No = new MessageBox.ButtonConfig
                    {

                        Text = "取消"
                    }
                }
               ).Show();

 

            }
            catch { }
           
  
        }

        [AjaxMethod]
        public void DoYes(string id)
        {
            DailyArrangeManager DAM = (DailyArrangeManager)(ControlFactory.Instance.CreateManager(typeof(DailyArrangeManager)));
            Guid ID = new Guid(id);

            DAM.DeleteArrangeDetail(ID);
          
            Ext.Notification.Show(new Notification.Config
            {
                Title = "删除日程安排明细",
                Icon = Coolite.Ext.Web.Icon.Information,
                PinEvent = "mouseover",
                Html = "日程安排明细删除成功!"
            });

            InitAllPlanGrid();
        }

        [AjaxMethod]
        public void updateAllPlan(string id)
        {
            Calendars_ID.Value = id;
            InitEditPlan();
            EditProjet.Show();
           
        }
        #endregion

        #region 编辑计划
        /// <summary>
        /// 初始化时间
        /// </summary>
        public void  InitComBox_Bind()
        {
            for (int i = 0; i < 24; i++)
            {
                Ddl_StatrHour.Items.Add(new Coolite.Ext.Web.ListItem(i.ToString(), i.ToString()));
                Ddl_EndrHour.Items.Add(new Coolite.Ext.Web.ListItem(i.ToString(), i.ToString()));
            }
            for (int i = 0; i < 60; i++)
            {
                Ddl_Statrminute.Items.Add(new Coolite.Ext.Web.ListItem(i.ToString(), i.ToString()));
                Ddl_Endminute.Items.Add(new Coolite.Ext.Web.ListItem(i.ToString(), i.ToString()));
            }
            Ddl_StatrHour.SelectedItem.Value = "0";
            Ddl_EndrHour.SelectedItem.Value = "0";
            Ddl_Statrminute.SelectedItem.Value = "0";
            Ddl_Endminute.SelectedItem.Value = "0";
        }
        public void InitEditPlan()
        {
            if (Calendars_ID.Value.ToString() != "")
            {
                DailyArrangeManager DAM = (DailyArrangeManager)(ControlFactory.Instance.CreateManager(typeof(DailyArrangeManager)));
                DailyArrangeDetail detail = DAM.GetArrangeDetailByID(new Guid(Calendars_ID.Value.ToString()));

                FromDate.Value = detail.StartDate;
                endTime.Value = detail.EndDate;
                Ddl_StatrHour.SelectedItem.Value = detail.StartTime.Hour.ToString();
                Ddl_Statrminute.SelectedItem.Value = detail.StartTime.Minute.ToString();
                Ddl_EndrHour.SelectedItem.Value = detail.EndTime.Hour.ToString();
                Ddl_Endminute.SelectedItem.Value = detail.EndTime.Minute.ToString();

                GetArrangePeriod(detail);

                Txt_Place.Text = detail.Place;
                Txt_Subject.Text = detail.Subject;
                string content = Staple.Decode(detail.Content);
                this.btnSave.Text = "修改";

                ScriptManager1.ScriptManager.AddScript("SetEditorContent('" + content + "');");
            }
            else
            {
                InitComBox_Bind();
                this.btnSave.Text = "增加";
            }
        }
        /// <summary>
        /// 根据循环周期显示
        /// </summary>
        /// <param name="detail"></param>
        public  void GetArrangePeriod(DailyArrangeDetail detail)
        {

            if (detail.ArrangePeriod == ArrangePeriod.Day)
            {
                Txt_ArrangePeriod.Text = "每天发生,起止时间段如下:";
                Txt_ArrangePeriodHidden.Text = "0,";
            }
            else if (detail.ArrangePeriod == ArrangePeriod.Week)
            {
                string[] weeks = new string[7] { "星期天", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
                string strweek = "每周{0}发生,起止时间段如下:";
                string d = "";
                string w = "";

                foreach (int i in detail.CircleWeeks)
                {
                    d = d + i + ",";
                    w = w + weeks[i] + ",";
                }
                w = w.Substring(0, w.Length - 1);//去掉逗号//2005-1-18Yuanding添加

                Txt_ArrangePeriod.Text = string.Format(strweek, w);
                Txt_ArrangePeriodHidden.Text = "1," + d;
            }
            else if (detail.ArrangePeriod == ArrangePeriod.Month)
            {
                string strMonth = "每月{0}日发生,起止时间段如下:";
                string d = "";

                foreach (int i in detail.CircleDays)
                {
                    d = d + i + ",";
                }
                d = d.Substring(0, d.Length - 1);//去掉逗号//2005-1-18Yuanding添加

                Txt_ArrangePeriod.Text = string.Format(strMonth, d);
                Txt_ArrangePeriodHidden.Text = "2," + d;
            }

        }
        /// <summary>
        /// 设置循环周期
        /// </summary>
        /// <param name="detail"></param>
        private void SetArrangePeriod(DailyArrangeDetail detail)
        {
            //每天循环
            if (Txt_ArrangePeriodHidden.Text == "" || Txt_ArrangePeriodHidden.Text == "0,")
            {
                detail.ArrangePeriod = ArrangePeriod.Day;
            }
            //每周循环
            else if (Txt_ArrangePeriodHidden.Text.Substring(0, 1) == "1")
            {
                detail.ArrangePeriod = ArrangePeriod.Week;

                #region 添加循环日期
                string[] days = Txt_ArrangePeriodHidden.Text.Split(',');
                ArrayList daylist = new ArrayList();
                if (days.Length > 1)
                {
                    for (int i = 1; i < days.Length; i++)
                    {
                        try
                        {
                            int j = int.Parse(days[i]);
                            daylist.Add(j);
                        }
                        catch
                        {
                            continue;
                        }
                    }
                }

                int[] dates = new int[daylist.Count];
                for (int k = 0; k < daylist.Count; k++)
                {
                    dates[k] = (int)daylist[k];
                }
                #endregion


                detail.CircleWeeks = dates;
            }
            //每月
            else if (Txt_ArrangePeriodHidden.Text.Substring(0, 1) == "2")
            {
                detail.ArrangePeriod = ArrangePeriod.Month;

                #region 添加循环日期
                string[] days = Txt_ArrangePeriodHidden.Text.Split(',');
                ArrayList daylist = new ArrayList();
                if (days.Length > 1)
                {
                    for (int i = 1; i < days.Length; i++)
                    {
                        try
                        {
                            int j = int.Parse(days[i]);
                            daylist.Add(j);
                        }
                        catch
                        {
                            continue;
                        }
                    }
                }

                int[] dates = new int[daylist.Count];
                for (int k = 0; k < daylist.Count; k++)
                {
                    dates[k] = (int)daylist[k];
                }
                #endregion

                detail.CircleDays = dates;

            }

        }
        public void btnSave_Click(object sender,AjaxEventArgs e)
        {
            DailyArrangeManager DAM = (DailyArrangeManager)(ControlFactory.Instance.CreateManager(typeof(DailyArrangeManager)));

            DailyArrangeDetail detail = null;
            if (Calendars_ID.Value.ToString() != "") detail = DAM.GetArrangeDetailByID(new Guid(Calendars_ID.Value.ToString()));
            if (detail == null) detail = new DailyArrangeDetail();
          
            DailyArrange arrange = DAM.GetArrangeByUser(CurrentlyUser.ID);

            //如果没有日程安排则创建安排
            if (arrange == null)
            {
                arrange = new DailyArrange();
                arrange.Name = CurrentlyUser.Name + "的日程安排";
                arrange.Planner = CurrentlyUser;
                arrange.ArrangeFlag = ArrangeFlag.Person;
            }
            detail.DailyArrange = arrange;

            detail.StartDate = DateTime.Parse(FromDate.Value.ToString());
            detail.EndDate = DateTime.Parse(endTime.Value.ToString());
            detail.StartTime = DateTime.Parse(Ddl_StatrHour.SelectedItem.Value + ":" + Ddl_Statrminute.SelectedItem.Value);
            detail.EndTime = DateTime.Parse(Ddl_EndrHour.SelectedItem.Value + ":" + Ddl_Endminute.SelectedItem.Value);

            detail.Subject = Txt_Subject.Text;
            detail.Place = Txt_Place.Text;
            detail.Content = txt_content.Text;
            SetArrangePeriod(detail);

            if (Calendars_ID.Value.ToString() != "")
            {
                DAM.UpdateArrangeDetail(detail);
                Ext.Notification.Show(new Notification.Config
                {
                    Title = "日程安排明细修改",
                    Icon = Coolite.Ext.Web.Icon.Information,
                    PinEvent = "mouseover",
                    Html = "日程安排明细修改成功!"
                });
                this.AllProjet.Show();
            }
            else
            {
                DAM.AddArrangeDetail(detail);
               
                Ext.Notification.Show(new Notification.Config
                {
                    Title = "日程安排明细添加",
                    Icon = Coolite.Ext.Web.Icon.Information,
                    PinEvent = "mouseover",
                    Html = "日程安排明细添加成功!"
                });
                this.AllProjet.Show();
            }
            InitAllPlanGrid();
        }
        #endregion
    }
}

原创粉丝点击