嗨,大家好我正在使用Observable集合来存储wpf datagrid的值,但我想自动删除重复的行。谁能帮我吗。我尝试过下面的方法,但没有成功。我正在使用MVVM。如何删除wpf datagrid中的重复行?
我的代码:
public ObservableCollection<VLANSPropertyClass> vlan { get; set; }
vlan = new ObservableCollection<VLANSPropertyClass>();
void AddVlans()
{
if ((String.IsNullOrEmpty(VlanName)) ||
String.IsNullOrEmpty(VlanID) ||
String.IsNullOrEmpty(VlanIP1) ||
String.IsNullOrEmpty(VlanIP2) ||
String.IsNullOrEmpty(VlanIP3) ||
String.IsNullOrEmpty(VlanIP4) ||
String.IsNullOrEmpty(SelectedVlanPort))
{
MessageBox.Show("Please fill the empty fields", "Alert", MessageBoxButton.OK);
}
else
{
Console.WriteLine("Add vlan");
var serial = new VLANSPropertyClass();
serial.S_No = vlan.Count + 1;
serial.vname = VlanName;
serial.vid = VlanID;
serial.ip = VlanIP1 + "." + VlanIP2 + "." + VlanIP3 + "." + VlanIP4;
serial.mask = Vlanmask1 + "." + Vlanmask2 + "." + Vlanmask3 + "." + Vlanmask4;
serial.vports = SelectedVlanPort;
if (itemexists())
{
MessageBox.Show("Value already present");
}
else
{
vlan.Add(serial);
}
}
}
bool itemexists()
{
var item = new VLANSPropertyClass();
return
(item.vname == VlanName) &&
(item.ip == VlanIP1 + "." + VlanIP2 + "." + VlanIP3 + "." + VlanIP4) &&
(item.vname == VlanName) &&
(item.vports == SelectedVlanPort);
}
上述方法是添加行,但它不会删除重复的行自动。任何帮助将是非常可观的。
你为什么不先验证行是否添加新的人之前已经存在? – sexta13 2014-09-01 10:46:14
@ sexta13 ...你能详细说明一下吗? – user3262450 2014-09-01 10:50:18
检查我的答案。 – sexta13 2014-09-01 10:54:16