[英]Saving DataGridView
I open two files into 2 seperate DGVs.. Once opened and the button "Format" is clicked, it matches all of the lines in the two seperate DGVs and copies it into a new DGV. 我将两个文件打开成两个单独的DGV。一旦打开并单击“格式”按钮,它将匹配两个单独的DGV中的所有行并将其复制到新的DGV中。
The first DGV looks like this (column labels): 第一个 DGV看起来像这样(列标签):
Name P/N X Y Rotation PkgStyle
and the second DGV looks like this: 而第二个 DGV看起来像这样:
PkgStyle P/D Feeder Vision Speed Machine Width Time
The two files will match the PkgStyle and concat the rest of the lines together to get the third DGV that looks like this: 这两个文件将匹配PkgStyle并将其余行连接在一起以获得第三个看起来像这样的DGV:
Name P/N X Y Rotation PkgStyle PkgStyle P/D Feeder Vision Speed Machine Width Time
Now, as you may expect there could be possible lines that do not match properly and will not combine the two sets of lines from the two files. 现在,正如您所料,可能存在不正确匹配的行,并且不会合并两个文件中的两组行。 If this is the case it will only input the information from the first file and not the second.
如果是这种情况,它将只输入第一个文件而不是第二个文件的信息。
So some sample data might look like this: 所以一些示例数据可能如下所示:
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
The third row (not including the titles of the columns) has blank cells in it. 第三行(不包括列的标题)中有空白单元格。 When the user changes the cell data in those blank spots, I would like to add it to a text document that already contains similar data.
当用户更改这些空白区域中的单元格数据时,我想将其添加到已包含类似数据的文本文档中。 So, if the user added
456 someITEM 4 1 1 UNI2 9MM 10MS
to the DataGridView lines that were blank, I want to add that to the end of the a file that already contains data. 因此,如果用户将
456 someITEM 4 1 1 UNI2 9MM 10MS
添加到空白的DataGridView行,我想将其添加到已包含数据的文件的末尾。 I want to only add the line if all of the column cells are filled in for each row. 我想只在每行填写所有列单元格时添加该行。 The output can just be space delimited.
输出可以是空格分隔的。
Can anyone help me with this? 谁能帮我这个?
You can use this link to check selected cell is null/empty or not with some modification: C# DataRow Empty-check 您可以使用此链接检查所选单元格是否为null /空或不进行某些修改: C#DataRow Empty-check
I suppose 3 datagrid: dg1, dg2, dg3 accordingly. 我想3个datagrid:dg1,dg2,dg3。 Columns of dg3 compose of columns of dg1 and dg2.
dg3的列由dg1和dg2的列组成。
public static string GetNewData(DataRow row)
{
string res = string.Empty;
if (row == null) throw new ArgumentNullException("row");
foreach (DataColumn column in dg2.Columns)
if (row.IsNull(column.ColumnName) || string.IsNullOrEmpty(row[column.ColumnName].ToString()))
return string.Empty;
else
res += row[column.ColumnName] + " ";
return res.Trim();
}
Hope this help. 希望这有帮助。
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);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.