我将两个文件打开到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/

10-11 12:24