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(); }
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(); }