我写了一个类似下面的函数
private void PrepUpdate()
{
LicenceBL lbl = new LicenceBL(0);
DataSet lds = new DataSet();
lbl.FetchForEdit(lds, AgentId,BrokerId);
string output ="";
for (int i = 0; i < lds.Tables[0].Rows.Count; i++)
{
output = output + lds.Tables[0].Rows[i]["LicenceTypesNames"].ToString();
output += (i < lds.Tables[0].Rows.Count) ? "," : string.Empty;
}
txtLicenseType.Text = output;
}
从LicenceTypesNames
获取所有dataset
并将其与&#39;,&#39;分开。然后将它们放在文本框中。如果dataset
包含licencetypesnames
列的重复条目,则它们也会插入文本框中...请帮助我!!!
答案 0 :(得分:2)
这是Linq
方法
var ltnList = lds.Tables[0].Rows.Cast<DataRow>()
.Select(x => x.Field<string>("LicenceTypesNames"));
txtLicenseType.Text = string.Join(",", ltnList.Distinct());
答案 1 :(得分:1)
使用HashSet<string>
,它只采用Add
方法
private void PrepUpdate()
{
LicenceBL lbl = new LicenceBL(0);
DataSet lds = new DataSet();
lbl.FetchForEdit(lds, AgentId,BrokerId);
HashSet<string> values = new HashSet<string>();
for (int i = 0; i < lds.Tables[0].Rows.Count; i++)
{
values.Add(lds.Tables[0].Rows[i]["LicenceTypesNames"].ToString());
}
txtLicenseType.Text = string.Join(", ", values.ToList());
}
答案 2 :(得分:0)
您可以使用dataview;
DataView dv = new DataView(lds.Tables[0]);
DataTable dtLtn = dv.ToTable(true, "LicenceTypesNames");
然后,dtLtn将由LicenceTypesNames的不同值组成 你可以用同样的方式使用for循环