您的位置:首页 > Web前端 > JavaScript

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

2009-07-15 16:07 316 查看
前台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 = " ";
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
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: