示例#1
0
        internal static void ImportGrid(string file, DataViewer dv, AddGridRowCallBack callbackTask)
        {
            var            grid = dv.GridView;
            List <BinData> bins = (List <BinData>)dv.Tag;

            if (bins.Count == 0)
            {
                // load binary files
                var path = $"{ExportFolder}/{file}";
                if (!File.Exists(path))
                {
                    return;
                }
                bins     = ParseBinaryFile(path);
                grid.Tag = bins;
            }

            grid.SuspendLayout();
            bins.ForEach(e => callbackTask(grid, e));
            grid.ResumeLayout();
        }
示例#2
0
        internal static void ImportGrid(string file, DataGridView grid, AddGridRowCallBack callbackTask)
        {
            string path = $"{ExportFolder}/{file}";

            if (!File.Exists(path))
            {
                return;
            }
            List <BinData> datas       = new List <BinData>();
            ThreadStart    childThread = () => ReadFileContents(path, ref datas);

            childThread += () => {
                grid.Invoke((MethodInvoker)(grid.SuspendLayout));
                datas.ForEach(d => callbackTask(grid, d));
                datas.Clear();
                grid.Invoke((MethodInvoker)(grid.ResumeLayout));
            };
            Thread thread = new Thread(childThread);

            thread.Start();
        }