sharat naik Ответов: 2

Практическое руководство автоматическое изменение страницы с 10 сек интервалом обязанности и достижения


мне нужна подкачка winform datagrid с интервалом таймера,
Пожалуйста, помогите мне

Что я уже пробовал:

private void BindGrid(int pageIndex)
        {

            using (SqlConnection con = new SqlConnection(connection))
            {
                using (SqlCommand cmd = new SqlCommand("Employee_Details_procedure", con))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@PageIndex", pageIndex);
                    cmd.Parameters.AddWithValue("@PageSize", PageSize);
                    cmd.Parameters.Add("@RecordCount", SqlDbType.Int, 2);
                    cmd.Parameters["@RecordCount"].Direction = ParameterDirection.Output;
                    con.Open();
                    DataTable dt = new DataTable();
                    dt.Load(cmd.ExecuteReader());
                    dataGridView1.AutoGenerateColumns = false;

                    dataGridView1.Columns[0].Name = "image";
                    dataGridView1.Columns[0].HeaderText = "Image";
                    dataGridView1.Columns[0].DataPropertyName = "Image";
                    dataGridView1.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;

                    dataGridView1.Columns[1].Name = "id";
                    dataGridView1.Columns[1].HeaderText = "Id";
                    dataGridView1.Columns[1].DataPropertyName = "id";
                    dataGridView1.Columns[1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                    dataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;

                    dataGridView1.Columns[2].Name = "name";
                    dataGridView1.Columns[2].HeaderText = "Name";
                    dataGridView1.Columns[2].DataPropertyName = "name";
                    dataGridView1.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;

                    dataGridView1.Columns[3].Name = "designation";
                    dataGridView1.Columns[3].HeaderText = "Designation";
                    dataGridView1.Columns[3].DataPropertyName = "designation";
                    dataGridView1.Columns[3].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;

                    dataGridView1.Columns[4].Name = "address";
                    dataGridView1.Columns[4].HeaderText = "Address";
                    dataGridView1.Columns[4].DataPropertyName = "address";
                    dataGridView1.Columns[4].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
                    dataGridView1.AllowUserToAddRows = false;
                    dataGridView1.DataSource = dt;
                    con.Close();
                    int recordCount = Convert.ToInt32(cmd.Parameters["@RecordCount"].Value);
                    this.PopulatePager(recordCount, pageIndex);
                }
            }



 int pageCount = 0;
        List<page> pages_list = new List<page>();
        private void PopulatePager(int recordCount, int currentPage)
        {if (count == 0)
            {
             count = 2;
            }
            else
            {
                count = count + 1;
                
            }

            Timer.Tick += new System.EventHandler(this.Timer_Tick);
            Timer.Interval = 2000;
            Timer.Start();
        }
        //string Name;
        System.Timers.Timer timer = new System.Timers.Timer();
        public  void MyElapsedMethod(object sender, ElapsedEventArgs e, string Name)
        {
              BindGrid(int.Parse( Name.ToString()));
        }
        private void Timer_Tick(object sender, EventArgs e)
        {
            this.BindGrid(3);
            // System.Threading.Thread.Sleep(8000);
        }
    }

Maciej Los

"Я хочу...- это не похоже на вопрос.
Управление Datagrid недоступно в WinForm.

2 Ответов

Рейтинг:
7

sharat naik

у меня есть одежда...............

Timer timerAnimation = new Timer(); // вставить таймер на страницу и изменить имя timerAnimation
Globals Globals = new Globals(); //объявить глобально, создав отдельный cs-файл


частный недействительными методе form1_load(объект отправителя, EventArgs в электронной)
{
этот.Биндгрид(1);
}


частный недействительными BindGrid(инт pageindex было)
{
using (SqlConnection con = new SqlConnection(connection))
{
используя (команда sqlcommand cmd и = новая команда sqlcommand("Employee_Details_procedure", кон))
{
УМК.CommandType = CommandType.Хранимая процедура;
cmd.параметры.AddWithValue ("@PageIndex", pageIndex);
cmd.параметры.AddWithValue("@PageSize", PageSize);
cmd.Parameters.Add("@RecordCount", SqlDbType.Инт, 2);
cmd.Parameters["@RecordCount"].Направление = ParameterDirection.Выход;
против.Открыть();
DataTable dt = новый DataTable();
ДТ.Нагрузки(УМК.Метода executereader());
dataGridView1.AutoGenerateColumns = false;
dataGridView1.ColumnHeadersDefaultCellStyle.Font = новый шрифт("Тахома", 11.0 F, FontStyle.Жирный);
dataGridView1.DefaultCellStyle.Font = новый шрифт("Calibri", 10.0 F, FontStyle.Регулярный);

dataGridView1.Columns[0].Имя = "изображение";
dataGridView1.Columns[0].HeaderText = "Изображение";
dataGridView1.Columns[0].DataPropertyName = "изображение";
dataGridView1.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;

dataGridView1.Columns[1].Имя = "id";
dataGridView1.Columns[1].HeaderText = "Id";
dataGridView1.Columns[1].DataPropertyName = "id";
dataGridView1.Columns[1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
dataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;

dataGridView1.Columns[2].Имя name";
dataGridView1.Columns[2].HeaderText = "Имя";
dataGridView1.Columns[2].DataPropertyName = "имя";
dataGridView1.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;

dataGridView1.Columns[3].Имя = "обозначение";
dataGridView1.Columns[3].HeaderText = "Обозначение";
dataGridView1.Columns[3].DataPropertyName = "обозначение";
dataGridView1.Columns[3].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;

dataGridView1.Columns[4].Имя = "адрес";
dataGridView1.Columns[4].HeaderText = "Адрес";
dataGridView1.Columns[4].DataPropertyName = "адрес";
dataGridView1.Columns[4].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
dataGridView1.AllowUserToAddRows = false;
dataGridView1.Источник данных = значение null;
dataGridView1.Источник данных = ДТ;
против.Закрывать();
int recordCount = конвертировать.ToInt32(cmd.Parameters["@RecordCount"].Value);
этот.PopulatePager(recordCount, pageIndex);
timerPanel.Начать();

}
}
}
private void PopulatePager(int recordCount, int currentPage)
{
если (глобалы.Globaints == 0)
{
Глобальный.Глобаинты = 1;
}
еще
{
кол-во = глобальные переменные.Глобаинты + 1;
Глобальный.Globaints = количество;
}
двойной dblPageCount = (двухместный)((десятичной)recordCount / конвертировать.ToDecimal(Размер Страницы));
pageCount = (int)математика.Потолок(dblPageCount);
}
частная timerPanel_Tick недействительным(объект отправителя, EventArgs в электронной)
{
если (глобалы.Globaints <= pageCount)
{
timerPanel.Стоп();
timerPanel.Интервал = 3000;
int GlovalValue = глобалы.Глобаинты;
BindGrid(GlovalValue);
timerPanel.Начать();
}

если (глобалы.Globaints > pageCount)
{
Глобальный.Глобаинты = 1;
}
}


Рейтинг:
0

saimanisha

я не могу точно сказать ответ для вас но я ответил временной интервал для изменения форм
вот ссылка
Как сделать полноэкранное слайд-шоу windows form с интервалом 10 секунд[^]


измените индекс подкачки по истечении таймера
вот вам прохождение pageindex было так установить переменную timechanging .увеличить значение переменной и его можно передавать в качестве параметра

private void BindGrid(int timechanging)
{
//write your code for fetching data from database 
}