Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > Web (ASP.NET) ดึงข้อมูลจาก Database มาโชว์ในปฏิทิน Calendar ครับ จะทำได้อย่างไร????



 

Web (ASP.NET) ดึงข้อมูลจาก Database มาโชว์ในปฏิทิน Calendar ครับ จะทำได้อย่างไร????

 



Topic : 088696



โพสกระทู้ ( 231 )
บทความ ( 0 )



สถานะออฟไลน์




ดึงข้อมูลจาก db มาโชว์ในปฏิทินครับ จะทำได้อย่างไร????

Code (C#)
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CalendarM.aspx.cs" Inherits="WebApp.CalendarM" %>

<%@ Register assembly="EventCalendar" namespace="ExtendedControls" tagprefix="ECalendar" %>

<!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">
        .style1
        {
            text-align: center;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div style="font-weight: 700; font-size: large">
    
        Calendar<br />
        <br />
        <br />
    
    </div>

        <div class="style1">

        <asp:GridView ID="gvSelectedDateEvents" runat="server" Width="60%">
        </asp:GridView>

        </div>
    <div class="style1">

        <ECalendar:EventCalendar ID="Calendar1" runat="server" BackColor="White" BorderColor="Silver"
            BorderWidth="1px" Font-Names="Verdana"
            Font-Size="9pt" ForeColor="Blue" Height="500px"
            Width="60%" FirstDayOfWeek="Monday" NextMonthText="" PrevMonthText="" 
            ShowGridLines="True" NextPrevFormat="ShortMonth" 
            ShowDescriptionAsToolTip="True" BorderStyle="Solid" EventDateColumnName="" 
            EventDescriptionColumnName="" EventHeaderColumnName="" 
            OnSelectionChanged="Calendar1_SelectionChanged">
            <SelectedDayStyle BackColor="#333399" ForeColor="White" />
            <TodayDayStyle BackColor="#CCCCCC" />
            <SelectorStyle BorderColor="#404040" BorderStyle="Solid" />
            <DayStyle HorizontalAlign="Left" VerticalAlign="Top" Wrap="True" />
            <OtherMonthDayStyle ForeColor="#999999" />
            <NextPrevStyle Font-Size="8pt" ForeColor="#333333" Font-Bold="True" VerticalAlign="Bottom" />
            <DayHeaderStyle BorderWidth="1px" Font-Bold="True" Font-Size="8pt" />
            <TitleStyle BackColor="White" BorderColor="Black" BorderWidth="4px" Font-Bold="True"
                Font-Size="12pt" ForeColor="#333399" HorizontalAlign="Center" VerticalAlign="Middle" />
        </ECalendar:EventCalendar>
    
    </div>
    
    </form>
</body>
</html>




Code (C#)
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Drawing;

namespace WebApp
{
    public partial class CalendarM : System.Web.UI.Page
    {
        private DataTable GetEvents()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("Id", Type.GetType("System.Int32"));
            dt.Columns.Add("EventStartDate", Type.GetType("System.DateTime"));
            dt.Columns.Add("EventEndDate", Type.GetType("System.DateTime"));
            dt.Columns.Add("EventHeader", Type.GetType("System.String"));
            dt.Columns.Add("EventDescription", Type.GetType("System.String"));
            dt.Columns.Add("EventForeColor", Type.GetType("System.String"));
            dt.Columns.Add("EventBackColor", Type.GetType("System.String"));

            int idCount = 1;

            DataRow dr;

            // Yesterday's Events
            dr = dt.NewRow();
            dr["Id"] = idCount++;
            dr["EventStartDate"] = DateTime.Now.AddDays(-1);
            dr["EventEndDate"] = DateTime.Now.AddDays(-1);
            dr["EventHeader"] = "My Yesterday's Single Day Event";
            dr["EventDescription"] = "My Yesterday's Single Day Event Details";
            dr["EventForeColor"] = "White";
            dr["EventBackColor"] = "Navy";
            dt.Rows.Add(dr);

            // Three Day's Event Starting Tomorrow
            dr = dt.NewRow();
            dr["Id"] = idCount++;
            dr["EventStartDate"] = DateTime.Now.AddDays(1);
            dr["EventEndDate"] = DateTime.Now.AddDays(+1);
            dr["EventHeader"] = "My Three Days Event";
            dr["EventDescription"] = "My Three Days Event Details, which starts tomorrow";
            dr["EventForeColor"] = "White";
            dr["EventBackColor"] = "Green";
            dt.Rows.Add(dr);


            return dt;
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            Calendar1.EventStartDateColumnName = "EventStartDate";
            Calendar1.EventEndDateColumnName = "EventEndDate";
            Calendar1.EventDescriptionColumnName = "EventDescription";
            Calendar1.EventHeaderColumnName = "EventHeader";
            Calendar1.EventBackColorName = "EventBackColor";
            Calendar1.EventForeColorName = "EventForeColor";


            Calendar1.EventSource = GetEvents();
        }
        protected void Calendar1_SelectionChanged(object sender, EventArgs e)
        {
            SelectedDatesCollection theDates = Calendar1.SelectedDates;
            DataTable dtSelectedDateEvents = Calendar1.EventSource.Clone();
            DataRow dr;

            foreach (DataRow drEvent in Calendar1.EventSource.Rows)
                foreach (DateTime selectedDate in theDates)
                    if (selectedDate.Date >= (Convert.ToDateTime(drEvent[Calendar1.EventStartDateColumnName])).Date
                        && selectedDate.Date <= (Convert.ToDateTime(drEvent[Calendar1.EventEndDateColumnName])).Date)
                    {
                        // This Condition is just to ensure that Every Event Details are added just only once
                        // irrespective of the number of days for which the event occurs.
                        if (dtSelectedDateEvents.Select("Id= " + Convert.ToInt32(drEvent["Id"])).Length > 0)
                            continue;

                        dr = dtSelectedDateEvents.NewRow();
                        dr["Id"] = drEvent["Id"];
                        dr[Calendar1.EventStartDateColumnName] = drEvent[Calendar1.EventStartDateColumnName];
                        dr[Calendar1.EventEndDateColumnName] = drEvent[Calendar1.EventEndDateColumnName];
                        dr[Calendar1.EventHeaderColumnName] = drEvent[Calendar1.EventHeaderColumnName];
                        dr[Calendar1.EventDescriptionColumnName] = drEvent[Calendar1.EventDescriptionColumnName];

                        dr[Calendar1.EventForeColorName] = drEvent[Calendar1.EventForeColorName];
                        dr[Calendar1.EventBackColorName] = drEvent[Calendar1.EventBackColorName];

                        dtSelectedDateEvents.Rows.Add(dr);
                    }

            gvSelectedDateEvents.DataSource = dtSelectedDateEvents;
            gvSelectedDateEvents.DataBind();

        }
    }
}




Tag : .NET, Ms SQL Server 2005, Web (ASP.NET), C#









ประวัติการแก้ไข
2013-01-01 20:26:25
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-01-01 09:03:54 By : Kaen17 View : 2223 Reply : 6
 

 

No. 1



โพสกระทู้ ( 231 )
บทความ ( 0 )



สถานะออฟไลน์


ช่วยหน่อยครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-01 23:29:01 By : Kaen17
 


 

No. 2



โพสกระทู้ ( 231 )
บทความ ( 0 )



สถานะออฟไลน์


มีใครพอได้มั้งครับ ??
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-02 07:50:14 By : Kaen17
 

 

No. 3



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ทำที่ DayRender ครับ มันจะ Loop ในแต่ล่ะวัน จากนั้นก็ให้เราไปตรวจสอบใน Database ครับ ตัวอย่างที่เคยเขียนไว้


Code (C#)
private void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
	MyDates Item = default(MyDates);
	////Temporary storage for looping through the collection
	string TextColor = null;

	DateTime DayHold = "01/01/1900";
	////Temporary date to check for multiple items per day

	bool MultipleItemDay = false;


	bool DayTextHasChanged = false;

	StringBuilder temp = default(StringBuilder);

	if ((MyCollection == null) == true) {
		Get_DBItems();
	}

	foreach ( Item in MyCollection) {
		if (DayHold != Item._Date) {
			if (DayTextHasChanged == true) {
				break; // TODO: might not be correct. Was : Exit For
			}
			DayHold = Item._Date;
		}

		e.Cell.ToolTip = clsDateTimeFormat.ConvertDateThaiShort(e.Day.Date);


		if (e.Day.Date == Item._Date.ToString) {
			e.Cell.Font.Bold = true;
			if (e.Day.Date == System.DateTime.Today) {
				e.Cell.BackColor = Color.FromName("Plum");
			}
			e.Cell.ForeColor = Color.OrangeRed;

			//If MultipleItemDay = False Then
			//    temp = New StringBuilder
			//Else
			//    ' temp.Append("<br>")
			//End If
			//temp.Append("<br><a href=" & Request.ServerVariables("SCRIPT_NAME") & "?p=editday&Action=edit&IDRef=" & Item._ID & ">")
			//temp.Append("<img src=""Module/Calendars/Images/writeok.gif"" border=""0""> ")
			//temp.Append("</a>")
			//DayTextHasChanged = True

		}
	}

	//If DayTextHasChanged = True Then
	//    e.Cell.Controls.Add(New LiteralControl(temp.ToString()))
	//End If

}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-02 08:51:39 By : mr.win
 


 

No. 4



โพสกระทู้ ( 231 )
บทความ ( 0 )



สถานะออฟไลน์


จะเอาไปเเทรกตรงไหนครับ ?
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-03 09:05:52 By : Kaen17
 


 

No. 5



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

มันเป็น Event ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-03 09:08:03 By : mr.win
 


 

No. 6



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

รู้สึกจะมีคนตอบให้แล้วน่ะครับ

Go to : ปฏิทิน ดึงข้อมูลลงปฏิทิน จาก db ดึงมาจาก ตารางใน db จะมาลงว่าวันไหนมีทำอะไรบ้างเเลว้ให้ขึ้นที่ วันที่ครับ จะต้องทำอย่างไร ??
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-03 09:09:27 By : mr.win
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : Web (ASP.NET) ดึงข้อมูลจาก Database มาโชว์ในปฏิทิน Calendar ครับ จะทำได้อย่างไร????
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่