删除数据集 C# 上的一些数据

Delete some data on dataset C#

我想从数据集中删除一些数据而不是整行。

例如: 新闻没有 |摆脱 |备注
1 100 L1,R1,R2,R3

在这里我只想删除L1数据。

我的代码

 DataSet dSet = new DataSet();
 ExcelAdapter.Fill(dSet);
 dSet.Tables[0].Rows[i].Delete(); //<-- It delete whole row.i just want to delete L1 only.

您想更新数据而不是删除它...:[=​​11=]

dSet.Tables[0].Rows[i]["REMARKS"] = "R1,R2,R3";

在这种情况下,您需要使用不包含 L1 的值更新备注栏

假设 L1 是您动态获取的值(例如作为用户输入),我认为它可能是这样的:

var valToRemove = "L1"; //provided by user
var remarks = dSet.Tables[0].Rows[i]["REMARKS"];
var splittedRemarks = new List<string>(remarks.Split(new[]{','}, StringSplitOptions.RemoveEmptyEntries));
splittedRemarks.Remove(valToRemove); //If you need to remove all the L1 values use `RemoveAll` method instead
dSet.Tables[0].Rows[i]["REMARKS"] = splittedRemarks.Join(",");

您应该更新单元格的值(就像您在数据库中所做的那样)。在你的情况下,删除 L1 看起来像这样

dSet.Tables[0].Rows[i] = string.join(",",dSet.Tables[0].Rows[i].ToString().Split(',').RemoveAt(0));

你可以这样做:

string str = dSet.Tables[0].Rows[i]["REMARKS"].toString();
dSet.Tables[0].Rows[i]["REMARKS"] = str.Remove(str.IndexOf("L1"), 3);

在这里,找到了 L1 的索引,并从该索引开始删除了 3 个字符。