小编JAS*_*JAS的帖子

Quartz.net简单示例

我正在尝试找到一个简单的Quartz.Net示例,当单击一个按钮时,它会启动Quartz.Net功能.

我能够使用Quartz.Net示例(控制台应用程序)并更改一些内容来生成它(SimpleExample.cs):

    public virtual void Run()
    {
        ISchedulerFactory sf = new StdSchedulerFactory();
        IScheduler sched = sf.GetScheduler();

        DateTimeOffset runTime = DateBuilder.EvenMinuteDate(DateTime.UtcNow);
        DateTimeOffset startTime = DateBuilder.NextGivenSecondDate(null, 10);

        IJobDetail job = JobBuilder.Create<HelloJob>()
            .WithIdentity("job1", "group1")
            .Build();
        ITrigger trigger = TriggerBuilder.Create()
            .WithIdentity("trigger1", "group1")
            .StartAt(runTime)
            .WithCronSchedule("5 0/1 * * * ?")
            .Build();

        sched.ScheduleJob(job, trigger);

        sched.Start();

    }
Run Code Online (Sandbox Code Playgroud)

但我对如何通过按钮点击触发这一点感到困惑.我以为我可以这样做:

    private void button1_Click(object sender, EventArgs e)
    {
     code here....
    }
Run Code Online (Sandbox Code Playgroud)

但那没用.

我查看了以下网站,但并非所有网站都通过点击按钮启动此功能.

http://www.mkyong.com/java/quartz-scheduler-example/ - Java,我很难理解其中的差异(我对这一切都很陌生!).

http://www.hardcodet.net/2010/01/lightweight-task-slash-job-scheduling-with-silverlight-support - 这很有帮助,但我不清楚Silverlight如何使用常规.Net表单.看起来像一个完全不同的项目.

/////

其他变更:10/14/2011

我查看了建议的代码,并找到了另一个(简单)示例的以下链接. http://simplequartzschedulerincsharp.blogspot.com/

我继续构建了一个简单的表单,对作者的代码进行了一些更改,如下所示:

using System;
using System.Collections.Generic;
using System.ComponentModel; …
Run Code Online (Sandbox Code Playgroud)

c# quartz.net

12
推荐指数
1
解决办法
3万
查看次数

c#Datagridview行计算

我有一个带有Datagridview的窗体,其中包含来自xml文件的数据.DGV的设置如下:日期,产品,价格

有10行数据.

我试图计算价格从一行到下一行的变化,并且很难找到解决方案.例如:

1/1/12, ABC, $2.00
1/1/12, ABC, $2.50

Net Change: .50
Run Code Online (Sandbox Code Playgroud)

在列中,我可以使用Table.Columns.Expression,但我不清楚如何将此计算减去先前与当前.

我想过迭代列,添加到一个新表并以这种方式计算,但似乎是一个低于标准的解决方案.一旦我得到更改ID,就像将其添加到Datagridview.

没有经过测试,但是这样的话:

if (dataGridView1.Rows.Count > 0)
{
    specifier = "###,###.00";

    double tier1Minus = 0;
    double tier2Minus = 0;

    for (int i = 0; i < dataGridView1.Rows.Count; ++i)
    {
        tier1Minus += Convert.ToDouble(dataGridView1.Rows[i].Cells["Price"].Value);

        tier2Minus += Convert.ToDouble(dataGridView1.Rows[i+1].Cells["Price"].Value);
    }

    // then add to dataGridView1
}
Run Code Online (Sandbox Code Playgroud)

c# datagridview date-arithmetic

5
推荐指数
1
解决办法
2692
查看次数

C#IF/Else数组

我试图在C#中创建一个简单的数组示例,它遍历数组,只显示大于或等于2但小于4的值.

在if语句中,我不确定如何在迭代函数中最好地形成两部分语句.这是我的例子,它显然没有做任何事情:else if(array [i]> = 2 array [i] <4)

我想要创建的完整代码:

int[] array = new int[5];

            array[0] = 1;
            array[1] = 2;
            array[2] = 3;
            array[3] = 4;
            array[4] = 5;

            for (int i = 0; i < array.Length; i++)
            {
                if (array[i] >= 4)
                {
                    Console.WriteLine(array[i]);
                }
                else if (array[i] >= 2 array[i] <4)
                {
                    Console.WriteLine(array[i]);
                }
                else
                {}

            }
            Console.ReadKey();
Run Code Online (Sandbox Code Playgroud)

寻找有关如何最好地创建此功能的建议.

c# arrays literate-programming

-1
推荐指数
1
解决办法
1万
查看次数