C# 使用C将要显示在标签中的值分组在一起

C# 使用C将要显示在标签中的值分组在一起,c#,winforms,C#,Winforms,我遇到了一个情况,需要一些帮助来解决这个问题。 我不允许直接在帖子中嵌入图片。正如您看到的图像,数据显示在gridview中,但客户端希望它显示为一个接一个的文本,就像gridview下面的文本一样。但是,需要同时显示具有公共日期的文件名。例如:2015年4月18日,有两个不同的文件条目,希望在PAYROLL************20150429.csv下显示PAYROLL*********20150422.csv。所以不需要第三次进入,只需要第二次和第三次一起加入。可能存在具有相同日期条目

我遇到了一个情况,需要一些帮助来解决这个问题。

我不允许直接在帖子中嵌入图片。正如您看到的图像,数据显示在gridview中,但客户端希望它显示为一个接一个的文本,就像gridview下面的文本一样。但是,需要同时显示具有公共日期的文件名。例如:2015年4月18日,有两个不同的文件条目,希望在PAYROLL************20150429.csv下显示PAYROLL*********20150422.csv。所以不需要第三次进入,只需要第二次和第三次一起加入。可能存在具有相同日期条目的不同文件,并且需要将它们组合在一起。名字191_20150418基于日期条目

我将Win窗体与C一起使用。我已经收集了数据表中的数据以显示在gridview中。 下面是我要在标签中显示的代码:

Label.Text += Environment.NewLine + "Name : " + dtSWAction.Rows[i]["Name"] + Environment.NewLine +
                                            "PPED : " + dtSWAction.Rows[i]["Date"] + Environment.NewLine +
                                            "Files : " + dtSWAction.Rows[i]["Files"] + Environment.NewLine;

如果在标签中添加这样的内容不可行,请建议更好的方法

这样做真的没有什么错:

Label.Text += 
    Environment.NewLine + "Name : " + dtSWAction.Rows[i]["Name"] +
    Environment.NewLine + "PPED : " + dtSWAction.Rows[i]["Date"] +
    Environment.NewLine + "Files : " + dtSWAction.Rows[i]["Files"] +
    Environment.NewLine;
但是,您可以使用string.Format:

Label.Text += string.Format("{0}Name : {1}{0}PPED : {2}{0}Files : {3}{0}",
    Environment.NewLine, 
    dtSWAction.Rows[i]["Name"], 
    dtSWAction.Rows[i]["Date"], 
    dtSWAction.Rows[i]["Files"]);
或者,如果您使用的是C 6/.NET 4.6:

Label.Text += $"{Environment.NewLine}Name : {dtSWAction.Rows[i]["Name"]}{Environment.NewLine}PPED : {dtSWAction.Rows[i]["Date"]}{Environment.NewLine}Files : {dtSWAction.Rows[i]["Files"]}{Environment.NewLine}";
看起来您正在使用DataTable访问此数据,但将来如果使用自定义定义的类,则可以使用上述任何一种方法重写类的ToString方法:

public override string ToString()
{
    return string.Format("{0}Name : {1}{0}PPED : {2}{0}Files : {3}{0}",
        Environment.NewLine, 
        dtSWAction.Rows[i]["Name"], 
        dtSWAction.Rows[i]["Date"], 
        dtSWAction.Rows[i]["Files"]);
}
以后任何时候你都可以这样称呼它:

Label.Text += instanceOfYourClass.ToString();

如果有效,什么是更好的方法?您可以使用string.Format或string interpolation,即$。如果这些值来自您创建的类,您可以在override-ToString方法中添加此逻辑。您可以查看附带的图像吗?这是我问题中的链接。我试图同时显示两个日期相同的不同文件名,而不是像现在这样有两个条目。