我将两个文件打开到2个单独的DGV中。打开后,单击“格式”按钮,它将与两个单独的DGV中的所有行匹配,然后将其复制到新的DGV中。
的第一个 DGV如下所示(列标签):
Name P/N X Y Rotation PkgStyle
第二个的 DGV如下所示:
PkgStyle P/D Feeder Vision Speed Machine Width Time
这两个文件将与 PkgStyle 匹配,并将其余各行合并在一起,以得到第三个 DGV,如下所示:
Name P/N X Y Rotation PkgStyle PkgStyle P/D Feeder Vision Speed Machine Width Time
现在,正如您所期望的,可能会出现一些行,这些行不正确匹配,并且不会合并两个文件中的两组行。如果是这种情况,它将仅输入第一个文件中的信息,而不输入第二个文件中的信息。
因此,一些示例数据可能如下所示:
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
所以
第三行(不包括列标题)中包含空白单元格。当用户在那些空白处更改单元格数据时,我想将其添加到已经包含相似数据的文本文档中。因此,如果用户将
456 someITEM 4 1 1 UNI2 9MM 10MS
添加到空白的DataGridView行中,我想将其添加到已经包含数据的文件的末尾。我只想在每行都填写了所有列单元格的情况下添加该行。输出可以用空格分隔。谁能帮我这个?
最佳答案
您可以使用此链接来检查选定的单元格为空/空或不作一些修改:C# DataRow Empty-check
我假设3个datagrid:分别为dg1,dg2,dg3。 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();
}
希望对您有所帮助。
关于c# - 保存DataGridView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7274026/