refresh a gridview in an accordion with a timer

Last post 06-03-2009 10:09 PM by Vince Xu - MSFT. 13 replies.

Sort Posts:

  • refresh a gridview in an accordion with a timer

    05-31-2009, 4:01 PM
    • Member
      7 point Member
    • attawba
    • Member since 04-05-2009, 11:17 AM
    • Posts 83

    hi ,

    i tried to refresh my page with the timer but it doesnt work

    i have a label when the page is refresh i have this test in the label  Label1.Text = "Grid Refreshed at: " + DateTime.Now.ToLongTimeString();

    the label take only the first refresh and doesn't change after???!!that means that the page doesn't refresh???

    tht's my code 

     

    <%@ Page Title="" Language="C#" MasterPageFile="~/UI/app_code/MasterPage.master" AutoEventWireup="true" CodeFile="loginclient.aspx.cs" Inherits="UI_app_code_loginclient" %>
    <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc2" %>
    
    <%@ Register Assembly="Microsoft.Live.ServerControls.VE" Namespace="Microsoft.Live.ServerControls.VE"
        TagPrefix="ve" %>
    
    <%@ Register assembly="Microsoft.Live.ServerControls.VE" namespace="Microsoft.Live.ServerControls.VE.Extenders" tagprefix="cc1" %>
    "Content1" ContentPlaceHolderID="Head" Runat="Server">
    
    "text/css">
            #haut_D
            {
                width: 308px;
                height: 439px;
            }
            #haut_G
            {
                width: 488px;
            }
            #haut
            {
                margin-left:7px;
                margin-right:7px;
                width: 770px;
                height: 439px;
            }
            #bas_G
            {
                width: 369px;
                height: 331px;
            }
            #bas
            {
                height: 439px;
            }
        
        
    
    "Content2" ContentPlaceHolderID="ContentPlaceHolderMaster" Runat="Server">
    
    "Timer1" OnTick="Timer1_Tick" runat="server" Interval="20000">
    "UpdatePanel1" UpdateMode="Conditional" runat="server"> "Timer1" EventName="Tick" /> "accordion1" runat="server" SelectedIndex="0" AutoSize="None" RequireOpenedPane="false" SuppressHeaderPostbacks="true" HeaderCssClass="accordheader" ContentCssClass="accordcont" Width="1100px" BorderColor="#663300" > "accordionpan1" runat="server" > Vehicules en Mouvement
    "haut">
    "Div1" style="position:absolute; left:20px; margin-left:5px; height: 238px; bottom: 13px; margin-top: 0px;" >  
    "Label1" runat="server" Text="Label"> "GridView1" runat="server" BackColor="White" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" CellPadding="5" Height="141px" Width="500px" CellSpacing="5"> "White" ForeColor="#330099" /> "#FFFFCC" ForeColor="#330099" /> "#FFFFCC" ForeColor="#330099" HorizontalAlign="Center" /> "#FFCC66" Font-Bold="True" ForeColor="#663399" /> "#663300" Font-Bold="True" ForeColor="#FFFFCC" />
    "haut_G" style="position:absolute; top:244px; right:350px; width:345px; margin-left:5px; height: 238px; bottom: 13px; margin-top: 0px;" > "Map1" runat="server" Height="293px" Width="446px" ZoomLevel="4" style="margin-left: 0px" /> "Map1_ContinuousPan" runat="server" TargetControlID="Map1" ToggleMode="Toggle" X="1" Y="1">
    "accordionpane2" runat="server"> Vehicules en arrêt
    "bas">
    "bas_D" style="position:absolute; top:300px; right:350px; width:345px; margin-left:5px; height: 238px; bottom: 13px; margin-top: 0px;" > "Map2" runat="server" Height="337px" Width="445px" ZoomLevel="4" />
     
    "bas_G" >

     

    "Div2" style="position:absolute; left:20px; margin-left:5px; height: 238px; bottom: 13px; " > "GridView2" runat="server" BackColor="White" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" CellPadding="5" Height="141px" Width="500px" CellSpacing="5"> "White" ForeColor="#330099" /> "#FFFFCC" ForeColor="#330099" /> "#FFFFCC" ForeColor="#330099" HorizontalAlign="Center" /> "#FFCC66" Font-Bold="True" ForeColor="#663399" /> "#663300" Font-Bold="True" ForeColor="#FFFFCC" />
     
    any ideas???
                                                                    

     

      
  • Re: refresh a gridview in an accordion with a timer

    06-01-2009, 4:04 AM
    • Participant
      1,249 point Participant
    • svmr
    • Member since 10-06-2006, 2:34 AM
    • Singapore
    • Posts 217

    Hi Attawba,

    Do you have Timer_Tick() event handler? Could you pls. post here the code both ASPX and the codebehind so that I can fix it for you. Thanks.

    Thanks & Regards,
    Shier Vermont Morada REYES
    Systems Analyst


    NOTE: Remember to click 'Mark As Answer' on the post that helps you.
  • Re: refresh a gridview in an accordion with a timer

    06-01-2009, 6:34 AM
    • Member
      7 point Member
    • attawba
    • Member since 04-05-2009, 11:17 AM
    • Posts 83

    hi,

    that is my code behind, i tried to test the timer with label ; but as i said before , the page is refresh just one time 

     

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using business.Services;
    using entities;
    using DAO.Services;
    using System.Data.DataSetExtensions;
    using System.Data.SqlClient;
    using System.Configuration;
    using System.Data;
    using Microsoft.Live.ServerControls.VE;
    using System.Windows.Forms;
    
    public partial class UI_app_code_loginclient : System.Web.UI.Page
    {
        #region donnée
    
        Tramebusiness itramebusiness = new Tramebusiness();
        IClientbusiness iclientbusiness = new Clientbusiness();
        client oClient = new client();
        IEntreprisebusiness ientreprisebusiness = new Entreprisebusiness();
        entreprise oEntreprise = new entreprise();
        IVehiculebusiness ivehiculebusiness = new Vehiculebusiness();
        vehicule oVehicule = new vehicule();
        Conducteurbusiness iconducteurbusiness = new Conducteurbusiness();
        conducteur oConducteur = new conducteur();
        IBoitierbusiness iboitierbusiness = new Boitierbusiness();
        boitier oBoitier = new boitier();
        Carburantbusiness icarburantbusiness = new Carburantbusiness();
        carburant oCarburant = new carburant();
        string IDvariable = "ID";
        string icon;
        trame oTrame = new trame();
        protected IList<client> _collectionAcceuil = new List();
        IList vehiculecollection = new List();
        IList collectiontrame = new List();
        alarme oAlarme= new alarme();
        IAlarmebusiness ialarmabusiness = new Alarmebusiness();
        IList collectionalarme= new List();
        zone oZone = new zone();
        Zonebusiness izonebusiness= new Zonebusiness();
       
        #endregion
        protected void Page_Load(object sender, EventArgs e)
        {
            affichemap();
            gridView1();
            gridView2();
        
    
        }
        #region grid1
        protected void gridView1()
        {
            oClient = (entities.client)HttpContext.Current.Session[IDvariable];
            oEntreprise = ientreprisebusiness.GetEntrepriseByIdClient(oClient.id_client);
            int id = oEntreprise.id_entreprise;
            HttpContext.Current.Session.Add(IDvariable, oClient);
            DataTable dt = new DataTable("DataTable1");
    
    
    
    
            oClient = (entities.client)HttpContext.Current.Session[IDvariable];
            oEntreprise = ientreprisebusiness.GetEntrepriseByIdClient(oClient.id_client);
            vehiculecollection = ivehiculebusiness.GetVehiculeByIdEntreprise(oEntreprise.id_entreprise);
    
            dt.Columns.Add(new DataColumn("Conducteur", typeof(string)));
    
            dt.Columns.Add(new DataColumn("Matricule véhicule", typeof(string)));
    
            dt.Columns.Add(new DataColumn("Type véhicule", typeof(string)));
    
            dt.Columns.Add(new DataColumn("Vitesse", typeof(string)));
    
            dt.Columns.Add(new DataColumn("Zone", typeof(string)));
            dt.Columns.Add(new DataColumn("Date", typeof(string)));
            foreach (vehicule ovehicule in vehiculecollection)
            {
                oZone = izonebusiness.GetZoneByIdZone(Convert.ToInt16(ovehicule.id_zone));
    
               
                oConducteur.nom_conducteur = iconducteurbusiness.GetConducteurByIdVehicule(ovehicule.id_vehicule).nom_conducteur;
                oConducteur.prenom_conducteur = iconducteurbusiness.GetConducteurByIdVehicule(ovehicule.id_vehicule).prenom_conducteur;
               oTrame = itramebusiness.GetTrameByIdBoitier(ovehicule.id_boitier).Last();
                {
                        if (oTrame.vitesse > 0)
                        {
                            DataRow dr = dt.NewRow();
    
                            dr["Conducteur"] = oConducteur.nom_conducteur + " " + oConducteur.prenom_conducteur;
    
                            dr["Matricule véhicule"] = ovehicule.matricule;
                            dr["Type véhicule"] = ovehicule.type_vehicule;
    
                            dr["Vitesse"] = oTrame.vitesse.ToString();
                            dr["Zone"] = oZone.nom_zone;
    
    
                            dr["Date"] = oTrame.date.ToShortDateString() + " " + "à" + " " + DateTime.ParseExact(oTrame.heure, "HHmmss", null).ToShortTimeString();
                            dt.Rows.Add(dr);
                        }
                    }
    
                DataView dv = new DataView(dt);
                GridView1.DataSource = dv;
                GridView1.DataBind();
               
    
            }
        }
        #endregion
        
        
        protected void gridView2()
        {
            oClient = (entities.client)HttpContext.Current.Session[IDvariable];
            oEntreprise = ientreprisebusiness.GetEntrepriseByIdClient(oClient.id_client);
            int id = oEntreprise.id_entreprise;
            HttpContext.Current.Session.Add(IDvariable, oClient);
            DataTable dt = new DataTable("DataTable1");
    
            
    
    
            oClient = (entities.client)HttpContext.Current.Session[IDvariable];
            oEntreprise = ientreprisebusiness.GetEntrepriseByIdClient(oClient.id_client);
            vehiculecollection = ivehiculebusiness.GetVehiculeByIdEntreprise(oEntreprise.id_entreprise);
    
            dt.Columns.Add(new DataColumn("Conducteur", typeof(string)));
    
            dt.Columns.Add(new DataColumn("Matricule véhicule", typeof(string)));
    
            dt.Columns.Add(new DataColumn("Type véhicule", typeof(string)));
    
            dt.Columns.Add(new DataColumn("Vitesse", typeof(string)));
    
            dt.Columns.Add(new DataColumn("Zone", typeof(string)));
             dt.Columns.Add(new DataColumn("Date", typeof(string)));
             foreach (vehicule ovehicule in vehiculecollection)
             {
                 oZone = izonebusiness.GetZoneByIdZone(Convert.ToInt16(ovehicule.id_zone));
    
                 oTrame = itramebusiness.GetTrameByIdBoitier(ovehicule.id_boitier).Last();
                 oConducteur.nom_conducteur = iconducteurbusiness.GetConducteurByIdVehicule(ovehicule.id_vehicule).nom_conducteur;
                 oConducteur.prenom_conducteur = iconducteurbusiness.GetConducteurByIdVehicule(ovehicule.id_vehicule).prenom_conducteur;
               
                         if (oTrame.vitesse == 0)
                         {
                             DataRow dr = dt.NewRow();
    
                             dr["Conducteur"] = oConducteur.nom_conducteur + " " + oConducteur.prenom_conducteur;
    
                             dr["Matricule véhicule"] = ovehicule.matricule;
                             dr["Type véhicule"] = ovehicule.type_vehicule;
    
                             dr["Vitesse"] = oTrame.vitesse.ToString();
                             dr["Zone"] = oZone.nom_zone;
    
    
                             dr["Date"] = oTrame.date.ToShortDateString() + " " + "à" + " " + DateTime.ParseExact(oTrame.heure, "HHmmss", null).ToShortTimeString();
                             dt.Rows.Add(dr);
                         }
                     }
    
             DataView dv = new DataView(dt);
             GridView2.DataSource = dv;
             GridView2.DataBind();
             }
        
    
    
        protected void affichemap()
        {
    
            //Initialize the VEShapeLayer with a single pushpin
            ShapeLayer layerPin = new ShapeLayer();
            //Initialize map1 properties
            this.Map1.AddShapeLayer(layerPin);
            Map1.Center.Latitude = 33.345;
            Map1.Center.Longitude = -7.464;
            Map1.ZoomLevel = 10;
    
            //Initialize map2 properties
            this.Map2.AddShapeLayer(layerPin);
            Map2.Center.Latitude = 33.345;
            Map2.Center.Longitude = -7.464;
            Map2.ZoomLevel = 10;
    
            oClient = (entities.client)HttpContext.Current.Session[IDvariable];
            oEntreprise = ientreprisebusiness.GetEntrepriseByIdClient(oClient.id_client);
            vehiculecollection = ivehiculebusiness.GetVehiculeByIdEntreprise(oEntreprise.id_entreprise);
            foreach (vehicule ovehicule in vehiculecollection)
            {
                oBoitier = iboitierbusiness.GetBoitierByIdBoitier(ovehicule.id_boitier);
                oTrame = itramebusiness.GetTrameByIdBoitier(oBoitier.id_boitier).Last();
                oConducteur = iconducteurbusiness.GetConducteurByIdVehicule(ovehicule.id_vehicule);
    
                double lat = Convert.ToDouble(oTrame.latitude);
                double lon = Convert.ToDouble(oTrame.longitude);
    
                LatLongWithAltitude point = new LatLongWithAltitude(lat, lon);
                Shape shape = new Shape(ShapeType.Pushpin, point);
                shape.Description = ("conducteur :" + "  " + oConducteur.nom_conducteur + "  " + oConducteur.prenom_conducteur
                                   + " <br/> " + "vitesse : " + "  " + oTrame.vitesse
                                   + " <br/> " + "position : " + "  " + oTrame.latitude + " " + oTrame.sens_latitude + " , " + oTrame.longitude + " " + oTrame.sens_longitude);
                if (ovehicule.type_vehicule.Equals("voiture"))
                    shape.CustomIcon = "../app_theme/image/car-icon.gif";
                else
                {
                    if (ovehicule.type_vehicule.Equals("camion"))
                        shape.CustomIcon = "../app_theme/image/camion.png";
    
                    else
                    {
                        shape.CustomIcon = "../app_theme/image/auto1.gif";
                    }
                }
                if (oTrame.vitesse != 0)
                { Map1.AddShape(shape); }
                else Map2.AddShape(shape);
            }
    
        }
          
        protected void Timer1_Tick(object sender, EventArgs e)
    {
        Label1.Text = "Grid Refreshed at: " + DateTime.Now.ToLongTimeString();
       
    }
    
    }
    
      
  • Re: refresh a gridview in an accordion with a timer

    06-01-2009, 11:16 PM
    • Participant
      1,249 point Participant
    • svmr
    • Member since 10-06-2006, 2:34 AM
    • Singapore
    • Posts 217

    Hi Attawba,

    I can't understand your ASPX code, could you pls. post it in a nice way. Are your GridViews inside the UpdatePanel?

    Thanks.

    Thanks & Regards,
    Shier Vermont Morada REYES
    Systems Analyst


    NOTE: Remember to click 'Mark As Answer' on the post that helps you.
  • Re: refresh a gridview in an accordion with a timer

    06-02-2009, 6:08 AM
    • Member
      7 point Member
    • attawba
    • Member since 04-05-2009, 11:17 AM
    • Posts 83

     hi ,

    i have the gridviews inside the update panel, 

    i resolved the problem by using the javascript , but i want to to refrresh just on div  not all the page

    thakns

  • Re: refresh a gridview in an accordion with a timer

    06-02-2009, 6:18 AM
    • Participant
      1,249 point Participant
    • svmr
    • Member since 10-06-2006, 2:34 AM
    • Singapore
    • Posts 217

    Hi Attawba,

    If you want to refresh only the div or panel, just place it inside the UpdatePanel (let say the ID is UpdatePanel1). If your button or triggering control is inside a separate UpdatePanel (let say ID is UpdatePanel2), after you updated the controls inside the div or panel, you have to call Update() method of UpdatePanel1 (UpdatePanel1.Update()). But if your button or triggering control is not inside an UpdatePanel and outside the UpdatePanel1, you have to add to the <Triggers> collection of UpdatePanel1.

    I hope this helps you.

    Thanks & Regards,
    Shier Vermont Morada REYES
    Systems Analyst


    NOTE: Remember to click 'Mark As Answer' on the post that helps you.
  • Re: refresh a gridview in an accordion with a timer

    06-02-2009, 8:11 AM
    • Member
      7 point Member
    • attawba
    • Member since 04-05-2009, 11:17 AM
    • Posts 83

     Hi participant,

    i have the just   the div that i want to refresh  inside the update panel ,  but i got all the page refreshed with all divs and the other contents!!

    thank you

  • Re: refresh a gridview in an accordion with a timer

    06-02-2009, 10:01 AM
    • Member
      7 point Member
    • attawba
    • Member since 04-05-2009, 11:17 AM
    • Posts 83
     
       <asp:UpdatePanel ID="UpdatePanel1" runat="server" OnLoad="UpdatePanel1_Load">
    <ContentTemplate>
    <div id="divAccordion" >
    <span"" src="../app_theme/image/fleche.jpeg" />

    "Label4" runat="server" Height="25px"
    Text="Afficher Véhicules" Width="200px" Font-Bold="True"
    Font-Italic="True" Font-Size="Medium" Font-Strikeout="False"
    Font-Underline="True" ForeColor="#663300">
    "Affichervehicule" GroupName="groupe" runat="server" Height="25px"
    Width="20px" CausesValidation="True" Checked="True" />

    "Label2" runat="server" Height="25px"
    Text=" Tous Les Véhicules" Width="200px">


              
    "selectionvehicule" GroupName="groupe" runat="server" Height="25px"
    Width="20px" />

    "Label3" runat="server" Height="25px"
    Text="Sélectionner Véhicules selon Véhicule" Width="240px">
    "DropDownListvehicule" runat="server" Height="25px"
    Width="150px">



              
    "selectionconducteur" GroupName="groupe" runat="server" Height="25px"
    Width="20px" />

    "Label1" runat="server" Height="25px"
    Text="Sélectionner Véhicules selon Conducteur" Width="240px">
    "DropDownListconducteur" runat="server" Height="25px"
    Width="150px">



              
    "RadioButtonzone" GroupName="groupe" runat="server" Height="25px"
    Width="20px" />

    "Label11" runat="server" Height="25px"
    Text="Sélectionner Véhicules selon Zone" Width="240px">
    "DropDownListzone" runat="server" Height="25px"
    Width="150px">

    "Button3" runat="server" Height="28px"
    Text="Valider" Width="137px" onclick="Button3_Click" />

    <span"" src="../app_theme/image/fleche.jpeg" />
    "Label10" runat="server" Font-Bold="True" Font-Italic="True"
    Font-Size="Medium" Font-Strikeout="False" Font-Underline="True"
    ForeColor="#663300" Height="25px" Text="Afficher POI" Width="200px">


              
    "radiobuttonoui" runat="server" CausesValidation="True"
    Checked="True" GroupName="poi" Height="25px" Width="20px" />

    "Label8" runat="server" Height="25px" Text=" Oui"
    Width="200px">
    "radiobuttonnon" runat="server" GroupName="poi"
    Height="25px" Width="20px" />
      
    "Label9" runat="server" Height="25px"
    Text="Non" Width="240px">
    "Button4" runat="server" Height="28px" onclick="Button4_Click"
    Text="Valider" Width="137px" />

    <span"" src="../app_theme/image/fleche.jpeg" /> "LABEL"
    runat="server" Height="25px" Text="Liste des Véhicules"
    Width="148px" Font-Bold="True" Font-Italic="True"
    Font-Size="Medium" Font-Underline="True" ForeColor="#663300">
    ;
    "GridView1" runat="server" BackColor="#DEBA84"
    BorderColor="#DEBA84" BorderStyle="None" BorderWidth="1px" CellPadding="3"
    CellSpacing="2" Width="80px"
    onselectedindexchanged="GridView1_SelectedIndexChanged">
    "#F7DFB5" ForeColor="#8C4510" />
    "#FFF7E7" ForeColor="#8C4510" />
    "#8C4510" HorizontalAlign="Center" />
    "#738A9C" Font-Bold="True" ForeColor="White" />
    "#A55129" Font-Bold="True" ForeColor="White" />


    "Label5" runat="server" Height="25px"
    Text="Choisir Véhicule" Width="100px">
     "DropDownListvehiculetrajet" runat="server" Height="25px"
    Width="150px">


    "Label6" runat="server" Height="25px"
    Text="Choisir Date" Width="80px">
         
    "Date3" runat="server" Height="17px" Width="130px"
    >

    "Image1" runat="server" ImageUrl="../app_theme/image/Calendar_scheduleHS.png" />
      

    "CalendarExtender3" runat="server" Format="dd/MM/yyyy"
    TargetControlID="Date3" PopupButtonID="Image1" >


                         
    "Button2" runat="server" Height="30px" Text="Valider "
    Width="180px" onclick="Button2_Click" />


    "Label7" runat="server" Height="25px"
    Text="Info Trajets" Width="173px">




    and i have in the code bihind
     protected void UpdatePanel1_Load(object sender, EventArgs e)
    {
    Label12.Text = "It's Now " + DateTime.Now.ToString();

    gridview_listevehicule();

    }
    hope that i is more clear
    thanks 
     

    thats my code in aspx page :

     

     

  • Re: refresh a gridview in an accordion with a timer

    06-02-2009, 10:57 PM

    Hi,

    I suggest you put the UpdatePanel inside Accordion panel to wrap only GridView and put the Timer inside UpdatePanel. You can set the smaller value of interval to test it and check if it is working.

    <Accordion>
      <AccordionPanel>
          <UpdatePanel>
              <timer/>
              <GridView />
          </UpdatePanel>
      </AccordionPanel>
    </Accordion>

     


    Vince Xu
    Microsoft Online Community Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
  • Re: refresh a gridview in an accordion with a timer

    06-02-2009, 11:11 PM

    Hi,

    When you use the above code, the entire page will be updated, right? Did you encounter any client error?


    Vince Xu
    Microsoft Online Community Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
  • Re: refresh a gridview in an accordion with a timer

    06-03-2009, 2:58 AM
    • Participant
      1,249 point Participant
    • svmr
    • Member since 10-06-2006, 2:34 AM
    • Singapore
    • Posts 217

    Hi Attawba,

    attawba:
    affichemap(); gridView1(); gridView2();


    Have you tried to call these methods under Timer1_Tick() event handler? If yes, what is the result? If not, pls. try and let us know the result. Thanks.

    Thanks & Regards,
    Shier Vermont Morada REYES
    Systems Analyst


    NOTE: Remember to click 'Mark As Answer' on the post that helps you.
  • Re: refresh a gridview in an accordion with a timer

    06-03-2009, 3:09 AM
    • Participant
      1,249 point Participant
    • svmr
    • Member since 10-06-2006, 2:34 AM
    • Singapore
    • Posts 217

    Hi Attawba,

    Everything here is got refresh because everthing is inside an UpdatePanel together with the Timer. What I can suggest is put the Timer control in a separate UpdatePanel, only that Timer control (let say id is TimerUpdatePanel). Then put the other controls in different UpdatePanel (let say ID is ControlUpdatePanel). And then in you Timer_Ticks() event, call the methods that populate the control or gridviews and right after that call ControlUpdatePanel.Update()

    Everything should work nice and you will not notice that controls inside ControlUpdatePanel got updated. Only the timer control inside the TimerUpdatePanel is being refresh and perform postback and you will not notice also because it is inside a separate UpdatePanel.

    I hope this works for you.

    Thanks & Regards,
    Shier Vermont Morada REYES
    Systems Analyst


    NOTE: Remember to click 'Mark As Answer' on the post that helps you.
  • Re: refresh a gridview in an accordion with a timer

    06-03-2009, 5:43 PM
    • Member
      7 point Member
    • attawba
    • Member since 04-05-2009, 11:17 AM
    • Posts 83

    hi ;

    yes i have used but it doesnt work for me 

    thanks

  • Re: refresh a gridview in an accordion with a timer

    06-03-2009, 10:09 PM

    Hi,

    Did you get any client error?


    Vince Xu
    Microsoft Online Community Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Page 1 of 1 (14 items)