365bet亚洲版登录-bet官网365入口

365bet亚洲版登录拥有超过百间客房,bet官网365入口的文化历经几十年的传承和积淀形成的核心内容获得业界广泛的认可,365bet亚洲版登录是目前信誉最高的娱乐场所,同国内外几百家网上内容供应商建立了合作关系。

应用小算法

这几天在做贰个WPF小品种,因为急需处理部分多少,万不得已写了贰个函数,算是多少个小算法吧,在此写出以便温故知新,同不时候希望牛人不吝赐教,点出个中不足之处。

简化需要:

创造一个datatable表dt,dt表中的记录行数是变量m。创造datatable表dt1、dt2,dt1和dt2循环展现dt中的数据,增添叁个计时器定时刷新dt1、dt第22中学的数据,且dt1和dt2每一趟只可以展现n行。

1、证明变量

图片 1图片 2

private DispatcherTimer timer;        DataTable dt = new DataTable();        DataTable dt1 = new DataTable();        DataTable dt2 = new DataTable();        public static int currentRows = 0;//当前行        public static int currentRows2 = 0;//中间变量

View Code

定时器:

图片 3图片 4

timer = new DispatcherTimer();            timer.Interval = new TimeSpan(0, 0, 5);            timer.Tick += new EventHandler(timer_Tick);            timer.Start();

View Code

2、增多控件,此处加多五个datagrid控件(用以展现dt1和dt第22中学的数据)

图片 5图片 6

<DataGrid AutoGenerateColumns="False" Height="335" HorizontalAlignment="Left" Margin="220,12,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="200" >            <DataGrid.Columns >                <DataGridTextColumn Header="id" Binding="{Binding Path=id}"></DataGridTextColumn>                <DataGridTextColumn Header="name" Binding="{Binding Path=name}"></DataGridTextColumn>            </DataGrid.Columns>        </DataGrid>        <DataGrid AutoGenerateColumns="False" Height="305" HorizontalAlignment="Left" Margin="463,31,0,0" Name="dataGrid2" VerticalAlignment="Top" Width="200" >            <DataGrid.Columns >                <DataGridTextColumn Header="id" Binding="{Binding Path=id}"></DataGridTextColumn>                <DataGridTextColumn Header="name" Binding="{Binding Path=name}"></DataGridTextColumn>            </DataGrid.Columns>        </DataGrid>

View Code

3、成立datatable表dt,何况起始化dt1和dt2

private void Initialize(int num)        {            dt.Columns.Add(new DataColumn("id", typeof(int)));            dt.Columns.Add(new DataColumn("name", typeof(string)));            for (int i = 0; i < num; i++)            {                DataRow dr = dt.NewRow();                dr["id"] = i;                dr["name"] = "tom" + i.ToString();                dt.Rows.Add;            }            dt1.Columns.Add(new DataColumn("id", typeof(int)));            dt1.Columns.Add(new DataColumn("name", typeof(string)));            dt2.Columns.Add(new DataColumn("id", typeof(int)));            dt2.Columns.Add(new DataColumn("name", typeof(string)));        }

初始化时调用:

Initialize;

4、编写函数

public void Update(int num)        {            int rows = dt.Rows.Count;            int num1 = 0;            int num2 = 0;            currentRows = currentRows2;            for (int i = currentRows; i < (currentRows + num); i++)            {                num1++;                currentRows2++;                DataRow dr = dt1.NewRow();                dr["id"] = Convert.ToInt32(dt.Rows[i][0].ToString;                dr["name"] = dt.Rows[i][1].ToString();                dt1.Rows.Add;                if (i == rows - 1)                {                    i = -1;                    currentRows2 = 0;                }                if (num1 == num)                {                    break;                }            }            currentRows = currentRows2;            for (int i = currentRows; i < (currentRows + num); i++)            {                num2++;                currentRows2++;                DataRow dr = dt2.NewRow();                dr["id"] = Convert.ToInt32(dt.Rows[i][0].ToString;                dr["name"] = dt.Rows[i][1].ToString();                dt2.Rows.Add;                if (i == rows - 1)                {                    i = -1;                    currentRows2 = 0;                }                if (num2 == num)                {                    break;                }            }        }

5、定时刷新dt1和dt第22中学的数据

void timer_Tick(object sender, EventArgs e)        {            dt1.Clear();            dt2.Clear();            Update(3);                    }

本文由365bet亚洲版登录发布于计算机网络,转载请注明出处:应用小算法

您可能还会对下面的文章感兴趣: