删除数据集 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 个字符。
我想从数据集中删除一些数据而不是整行。
例如:
新闻没有 |摆脱 |备注
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 个字符。