Datagridview自动页面更改为10秒间隔winforms [英] Datagridview auto page change with 10sec interval winforms

查看:70
本文介绍了Datagridview自动页面更改为10秒间隔winforms的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望winform datagrid分页与定时器间隔,

请帮助我



我尝试过:



i want winform datagrid paging with timer interval,
Please help me

What I have tried:

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);
        }
    }

推荐答案

我无法准确地为您解答,但我回答时间间隔更改表格

这里是链接

如何使全屏窗口的幻灯片显示10秒间隔 [ ^ ]





在计时器过去时改变分页索引

这里你传递的pageindex所以设置一个变量timechanging .increment变量的值并将该值作为参数传递

i cant exactly say answer for you but i answered time interval to change forms
here is the link
How to make full screen windows form's slide show 10 sec interval[^]


change the paging index when timer elapses
here your passing pageindex so set a variable timechanging .increment the value of variable and pass that value as parameter
private void BindGrid(int timechanging)
{
//write your code for fetching data from database 
}


我得到了衣服...............



定时器timerAnimation = new Timer(); //将计时器插入页面并更改名称timerAnimation

Globals Globals = new Globals(); //通过创建单独的cs文件全局声明





private void Form1_Load(object sender,EventArgs e)

{

this.BindGrid(1);

}





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.ColumnHeadersDefaultCellStyle.Font = new Font(Tahoma,11.0F,FontStyle.Bold);

dataGridView1.DefaultCellStyle.Font = new Font (Calibri,10.0F,FontStyle.Regular);



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 = 指定;

dataGridView1.Columns [3] .DataPropertyName =指定;

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 = null;

dataGridView1.DataSource = dt ;

con.Close();

int recordCount = Convert.ToInt32(cmd.Parameters [@ RecordCount]。Value);

this.PopulatePager(recordCount,pageIndex);

timerPanel.Start();



}

} $ / $
}

private void PopulatePager(int recordCount,int currentPage)

{

if(Globals.Globaints == 0)

{

Globals.Globaints = 1;

}

其他

{

count = Globals.Globaints + 1;

Globals.Globaints = count;

}

double dblPageCount =(double)((decimal)recordCount / Convert.ToDecimal(PageSize));

pageCount =(int)Math.Ceiling(dblPageCount);

}

private void timerPanel_Tick(object sender,EventArgs e)

{

if(Globals.Globaints< = pageCount)

{

timerPanel.Stop();

timerPanel.Interval = 3000;

int GlovalValue = Globals.Globaints;

BindGrid(GlovalValue);

timerPanel.Start();

}



if(Globals.Globaints> pageCount)

{

Globals.Globaints = 1;

}

}
i got the answear...............

Timer timerAnimation = new Timer(); // insert timer to page and change the name timerAnimation
Globals Globals = new Globals(); //declare globally by creating seperate cs file


private void Form1_Load(object sender, EventArgs e)
{
this.BindGrid(1);
}


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.ColumnHeadersDefaultCellStyle.Font = new Font("Tahoma", 11.0F, FontStyle.Bold);
dataGridView1.DefaultCellStyle.Font = new Font("Calibri", 10.0F, FontStyle.Regular);

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 = null;
dataGridView1.DataSource = dt;
con.Close();
int recordCount = Convert.ToInt32(cmd.Parameters["@RecordCount"].Value);
this.PopulatePager(recordCount, pageIndex);
timerPanel.Start();

}
}
}
private void PopulatePager(int recordCount, int currentPage)
{
if (Globals.Globaints == 0)
{
Globals.Globaints = 1;
}
else
{
count = Globals.Globaints + 1;
Globals.Globaints = count;
}
double dblPageCount = (double)((decimal)recordCount / Convert.ToDecimal(PageSize));
pageCount = (int)Math.Ceiling(dblPageCount);
}
private void timerPanel_Tick(object sender, EventArgs e)
{
if (Globals.Globaints <= pageCount)
{
timerPanel.Stop();
timerPanel.Interval = 3000;
int GlovalValue = Globals.Globaints;
BindGrid(GlovalValue);
timerPanel.Start();
}

if (Globals.Globaints > pageCount)
{
Globals.Globaints = 1;
}
}


这篇关于Datagridview自动页面更改为10秒间隔winforms的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆