嗨,大家好我正在使用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