Avatar billede tanzaweb Nybegynder
18. maj 2004 - 11:18 Der er 1 løsning

kalender fejl viser ikke event

Hej Jeg har en kode her som hvis jeg trykker på en dato og der er noget på den dato i databasen så skal den skrive det i en datagrid, men der kommer ikke noget selv om jeg ved der er noget i databasen.

Koden ser således ud.

<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>

<script runat="server">

OleDbConnection mycn;
OleDbDataAdapter myda;
DataSet ds = new DataSet ();
DataSet dsSelDate;
string strConn;

private void Page_Load(object sender, System.EventArgs e)
{
   
    // Put user code to initialize the page here
    strConn=@"Provider=Microsoft.JET.OLEDB.4.0;Data Source=" + Server.MapPath("/acl/database/dhl.mdb");
    mycn = new OleDbConnection(strConn);
    myda = new OleDbDataAdapter ("Select * FROM EventsTable", mycn);
    myda.Fill (ds,"Table");
}

protected void CalendarDRender(object  sender  ,System.Web.UI.WebControls.DayRenderEventArgs  e  )
{
    // If the month is CurrentMonth
    if (! e.Day.IsOtherMonth )
    {
    foreach (DataRow dr in ds.Tables[0].Rows)
    {
        if ((dr["EventDate"].ToString() != DBNull.Value.ToString()))
        {
            DateTime dtEvent= (DateTime)dr["EventDate"];
            if (dtEvent.Equals(e.Day.Date))
            {
                e.Cell.BackColor = System.Drawing.Color.PaleVioletRed;
            }
        }
    }   
    }
        //hvis måneder ikke er nuværende måneder så skjul datoerne
    else
    {
        e.Cell.Text = "";
    }
}

private void Calendar1_SelectionChanged(object sender, System.EventArgs e)
{
    myda = new OleDbDataAdapter("Select * from EventsTable where EventDate='" +
        Calendar1.SelectedDate.ToString() + "'", mycn);
    dsSelDate = new DataSet();
    myda.Fill(dsSelDate, "AllTables");
    if (dsSelDate.Tables[0].Rows.Count == 0 )
    {
        DataGrid1.Visible = false;
    }
    else
    {
        DataGrid1.Visible = true;
        DataGrid1.DataSource = dsSelDate;
        DataGrid1.DataBind ();
    }
}           
</script>

<form runat="server">
<asp:Calendar id="Calendar1" OnDayRender="CalendarDRender" runat="server" BorderWidth="1px"
    NextPrevFormat="FullMonth" BackColor="#ffcc00" Width="350px" ForeColor="Black" Height="190px"
    Font-Size="9pt" Font-Names="Verdana" BorderColor="#000000">
    <TodayDayStyle BackColor="#CCCCCC"></TodayDayStyle>
    <NextPrevStyle Font-Size="8pt" Font-Bold="True" ForeColor="#333333" VerticalAlign="Bottom">
    </NextPrevStyle>
    <DayHeaderStyle Font-Size="8pt" Font-Bold="True"></DayHeaderStyle>
    <SelectedDayStyle ForeColor="White" BackColor="#333399"></SelectedDayStyle>
    <TitleStyle Font-Size="12pt" Font-Bold="True" BorderWidth="4px" ForeColor="#333399"
    BorderColor="Black" BackColor="#ffcc00"></TitleStyle>
    <OtherMonthDayStyle ForeColor="#999999"></OtherMonthDayStyle>
</asp:Calendar>
<asp:DataGrid id="DataGrid1" style="Z-INDEX: 102; LEFT: 23px; POSITION: absolute; TOP: 271px"
    runat="server" Font-Size="XX-Small" Font-Names="Verdana" Visible="False">
</asp:DataGrid>
</form>

Jeg har tænkt på om det kun være en fejl i dato formatet men jeg kan ikke lige se datoen i soruce koden så er der nogen der har et forslag.

datoen er gemt som general dato i data basen og kan se således ud
28-05-2004
Avatar billede tanzaweb Nybegynder
21. maj 2004 - 00:29 #1
nå jeg får åbenbart ikke noget svar, så jeg sende selv et, men hvis der er nogen der kan se fejlen så send en besked og jeg vil lave nyt spørgsmål til pointene
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester