the*_*Guy 6 c# datagridview file save
我将两个文件打开成两个单独的DGV.一旦打开并单击"格式"按钮,它将匹配两个单独的DGV中的所有行并将其复制到新的DGV中.
第一个 DGV看起来像这样(列标签):
Name P/N X Y Rotation PkgStyle
Run Code Online (Sandbox Code Playgroud)
而第二个 DGV看起来像这样:
PkgStyle P/D Feeder Vision Speed Machine Width Time
Run Code Online (Sandbox Code Playgroud)
这两个文件将匹配PkgStyle并将其余行连接在一起以获得第三个看起来像这样的DGV:
Name P/N X Y Rotation PkgStyle PkgStyle P/D Feeder Vision Speed Machine Width Time
Run Code Online (Sandbox Code Playgroud)
现在,正如您所料,可能存在不正确匹配的行,并且不会合并两个文件中的两组行.如果是这种情况,它将只输入第一个文件而不是第二个文件的信息.
所以一些示例数据可能如下所示:
Name P/N X Y Rotation PkgStyle PkgStyle P/D Feeder Vision Speed Machine Width Time
J11 1234 12 7 180 9876 9876 THETHING 1 1 1 UNI 12MM 1MS
R90 2222 19 9 0 1255 1255 ITEM 2 1 1 UNI2 5MM 1MS
J18 9845 11 4 270 456
C127 1111 05 1 270 5555 5555 ITEM2 3 1 1 UNI 8MM 0.1MS
Run Code Online (Sandbox Code Playgroud)
第三行(不包括列的标题)中有空白单元格.当用户更改这些空白区域中的单元格数据时,我想将其添加到已包含类似数据的文本文档中.因此,如果用户添加456 someITEM 4 1 1 UNI2 9MM 10MS到空白的DataGridView行,我想将其添加到已包含数据的文件的末尾.我想只在每行填写所有列单元格时添加该行.输出可以是空格分隔的.
谁能帮我这个?
foreach (var line in theList)
{
string pkgStyleNA, PDNA, feederNA, visionNA, speedNA, machineNA, widthNA, timeNA;
if (line.PkgStyle.Equals(string.Empty))
pkgStyleNA = "N/A ";
else
pkgStyleNA = line.PkgStyle;
if (line.PD.Equals(string.Empty))
PDNA = "N/A ";
else
PDNA = line.PD;
if (line.Feeder.Equals(string.Empty))
feederNA = "N/A ";
else
feederNA = line.Feeder;
if (line.Vision.Equals(string.Empty))
visionNA = "N/A ";
else
visionNA = line.Vision;
if (line.Speed.Equals(string.Empty))
speedNA = "N/A ";
else
speedNA = line.Speed;
if (line.Machine.Equals(string.Empty))
machineNA = "N/A ";
else
machineNA = line.Machine;
if (line.Width.Equals(string.Empty))
widthNA = "N/A ";
else
widthNA = line.Width;
if (line.Time.Equals(string.Empty))
timeNA = "N/A ";
else
timeNA = line.Time.ToString();
addToDataBase.Add(pkgStyleNA + " " + PDNA + " " + feederNA + " " + visionNA + " " + speedNA+ " " + machineNA+ " " + widthNA + " " + timeNA);
}
using (StreamWriter outFile = new StreamWriter(openDataBaseFile.FileName, true))
{
outFile.WriteLine();
var noDuplicatesList = addToDataBaseList.Distinct().ToList();
foreach (var item in noDuplicatesList)
outfile.WriteLine(item);
}
Run Code Online (Sandbox Code Playgroud)