通过事件

时间:2017-08-03 08:49:26

标签: c# list events datagridview

好的,所以我在编程课程中做了第一次评估/任务,所以请记住我对此很新。

所以我有一个带有库存数量,名称,代码和OnOrder属性的产品列表的CSV文件,我已经完成了我认为编写程序以获取所述列表并放入的第一个重要步骤它在程序中进入DataGridView(这是所有自由形式但我必须首先使用列表或数组,其次必须按项目代码或计数等进行排序)。

到目前为止,这是我的代码:

namespace SkillageAppForm
{
class Program
{
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main(string[] args)
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());

        args = new[] { "C:\\StockFile\\stocklist.csv" };

        var dailyvalues = ReadValues(args[0]);
    }

    public class DailyValues
    {
        public string ItemCode;
        public string ItemDescription;
        public int CurrentCount;
        public string OnOrder;

        public static DailyValues FromLine(string line)
        {
            var data = line.Split(',');

            return new DailyValues()
            {
                ItemCode = data[0],
                ItemDescription = data[1],
                CurrentCount = int.Parse(data[2]),
                OnOrder = data[3]
            };
        }
    }

    public IList<DailyValues> ReadValues(string path)
    {
        var myList = new List<DailyValues>();
        foreach (var line in File.ReadLines(path).Skip(1))
        {
            myList.Add(DailyValues.FromLine(line));
        }
        return myList;
    }
}

所以,运行它并设置一个断点,它似乎就像我想要的那样填充myList,所以是的。但是现在我对如何将该列表放入DataGridView感到非常困惑,我到目前为止尝试的方式只是使用click事件将数据源加载到DataGridView中(我假设你可以实际上是从事件处理程序调用一个列表,但谷歌搜索这个问题只是随机出现其他事情,比如在方法中调用事件和在事件处理程序中创建一个列表。

我根本不知道如何做到这一点,因为我说我是编码的新手,虽然我看了40个小时的Pluralsight课程,但我仍然感到很困惑。

我假设我犯了一些简单的错误或者我失踪的巨大的事情,我不是来欺骗我的评估,只是因为我一直坐在这里几个小时试图在谷歌上解决这个问题并通过课程回顾,实际上找不到答案。非常感谢任何帮助:)

1 个答案:

答案 0 :(得分:0)

如果你想让自己的生活变得更轻松,那就完全取消自定义类并将数据加载到一个适当准备好的DataTable中(即创建一个DataTable,向其中添加相关的命名和类型列,用行加载它)然后将DataGridView的.DataSource设置为数据表。

确保DataGridView上的AutoGenerateColumns = true