Datagridview自动页面更改为10秒间隔winforms [英] Datagridview auto page change with 10sec interval winforms
本文介绍了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屋!
查看全文