Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从数据网格视图中选择多行,并以逗号分隔的字符串格式C添加到变量中_C# - Fatal编程技术网

C# 从数据网格视图中选择多行,并以逗号分隔的字符串格式C添加到变量中

C# 从数据网格视图中选择多行,并以逗号分隔的字符串格式C添加到变量中,c#,C#,尝试根据用户在数据网格视图上选择的值创建逗号分隔的字符串。这是一个windows窗体应用程序。数据网格视图称为“gvModelsToDelete”,目前我有以下代码: 代码中的ModelName是我要查找的列,由国家/地区组成。 例如,用户选择第二行“UK”和第四行“US”。我希望网格视图的第一列连接到一个字符串,例如“UK,US”。如果用户也选择“EU”。我希望字符串是: “英国、美国、欧盟” private void Delete_Clickobject sender,System.Even

尝试根据用户在数据网格视图上选择的值创建逗号分隔的字符串。这是一个windows窗体应用程序。数据网格视图称为“gvModelsToDelete”,目前我有以下代码: 代码中的ModelName是我要查找的列,由国家/地区组成。 例如,用户选择第二行“UK”和第四行“US”。我希望网格视图的第一列连接到一个字符串,例如“UK,US”。如果用户也选择“EU”。我希望字符串是: “英国、美国、欧盟”

private void Delete_Clickobject sender,System.EventArgs e { 如果gvModelsToDelete.SelectedRows.Count!=0 { DataGridViewRow行=this.gvModelsToDelete.SelectedRows[0];
modelName=row.Cells[MODEL\u NAME].Value.ToString; } }
我需要它作为逗号分隔的字符串,这样我就可以将它解析为sql存储过程!现在它只接受一个值,所以即使我选择了两个,它也会接受我选择的第一个值。如何将上述代码更改为循环遍历每个选定行并连接到字符串变量中,以便将其作为参数进行解析?

您只需遍历选定行:

private void Delete_Clickobject sender,System.EventArgs e { 如果gvModelsToDelete.SelectedRows.Count>0 { modelName=; gvModelsToDelete.SelectedRows中的foreach DataGridViewRow行 { 如果string.IsNullOrEmptymodelName {
modelName=row.Cells[MODEL\u NAME].Value.ToString; } 其他的 { modelName+=,+row.Cells[MODEL_NAME].Value.ToString; } } } } 如果您想使用LINQ并有更简洁的内容,可以这样做:

private void Delete_Clickobject sender,System.EventArgs e { 如果gvModelsToDelete.SelectedRows.Count>0 { modelName=String.Join,, 从gvModelsToDelete.SelectedRowsRows.Cast中的行 选择row.Cells[MODEL\u NAME].Value.ToString; } } }
modelName=row.Cells[MODEL\u NAME].Value.ToString;我有一个对象不包含单元格错误的定义,它应该是:gvModelsToDelete.SelectedRows中的foreach DataGridViewRow行,而不是:gvModelsToDelete.SelectedRows中的foreach var行,并使用StringBuilder而不是字符串串联:@bob_saginowski:我不相信StringBuilder会在一个小示例中提高性能这样地。我会选择一个插值字符串,但为了清晰起见保留了串联。