示例#1
0
        private void Statistic()
        {
            while (!isStoped)
            {
                try
                {
                    Thread.CurrentThread.Join(500);

                    if (isPaused)
                    {
                        continue;
                    }

                    if (!Common.ApplicationIsActivated())
                    {
                        continue;
                    }

                    if (Application.OpenForms[0].ActiveMdiChild != this)
                    {
                        continue;
                    }

                    dtSession = sessionDb.GetSessions();

                    int count = dtSession.Rows.Count;

                    if (InvokeRequired)
                    {
                        Invoke((MethodInvoker)
                               delegate
                        {
                            txtSession.Text = count.ToString();

                            gvDB.TopRowIndex = topRowIndex;

                            if (gDB.DataSource == null)
                            {
                                gvDB.OptionsSelection.EnableAppearanceFocusedRow = false;
                                //dsSession = DBTools.getData("session", sql1, "POS", "QLB%");
                                gDB.DataSource         = dtSession.Copy();
                                gvDB.Columns[3].Width  = 150;
                                gvDB.Columns[4].Width  = 150;
                                gvDB.Columns[5].Width  = 150;
                                gvDB.Columns[6].Width  = 150;
                                gvDB.Columns[7].Width  = 150;
                                gvDB.Columns[8].Width  = 150;
                                gvDB.Columns[9].Width  = 150;
                                gvDB.Columns[10].Width = 250;
                                gvDB.Columns[11].Width = 150;
                                gvDB.Columns[12].Width = 150;
                                gvDB.Columns[13].Width = 150;
                                gvDB.Columns[14].Width = 150;
                                gvDB.Columns[14].OptionsColumn.AllowEdit = false;
                                gvDB.Columns[14].OptionsColumn.ReadOnly  = true;
                                gvDB.Columns[15].Width = 250;
                                gvDB.Columns[16].Width = 150;
                                gvDB.Columns[16].OptionsColumn.AllowEdit = false;
                                gvDB.Columns[16].OptionsColumn.ReadOnly  = true;
                                gvDB.Columns[17].Width = 150;
                                gvDB.Columns[18].Width = 150;
                                gvDB.Columns[19].Width = 250;
                                gvDB.Columns[20].Width = 150;
                                gvDB.Columns[21].Width = 150;
                            }
                            else
                            {
                                gDB.DataSource = dtSession.Copy();

                                gDB.RefreshDataSource();
                            }

                            if (selectedRowIndex >= gvDB.RowCount)
                            {
                                gvDB.FocusedRowHandle = gvDB.RowCount - 1;
                            }

                            gvDB.FocusedRowHandle = selectedRowIndex;
                        });
                    }
                }
                catch
                {
                    if (InvokeRequired)
                    {
                        Invoke((MethodInvoker)
                               delegate
                        {
                            txtSession.Text = "0";
                        });
                    }
                }
            }
        }