У меня проблемы со списками.
Если у меня есть текстовое поле и кнопка добавления, которая помещает данные в список.
Случайно одно и то же имя.
Как предотвратить дубликаты в моем списке?
Я могу ввести код в раздел кнопки или под полем списка?List Box Duplicates
ответ
Вы можете просто проверить, существует ли он до его добавления, например. с Linq:
bool contains = lbName.Items.Cast<ListItem>()
.Any(li => li.Text.Equals(txtName.Text, StringComparison.OrdinalIgnoreCase));
if(!contains)
{
lbName.Items.Add(new ListItem(txtName.Text));
}
Предполагая, что вы хотите сравнить регистр без учета регистра.
Редактировать Поскольку вы на самом деле хотите добавить полные файловые пути к ListBox
, но вы хотите, чтобы предотвратить, что второй файл с тем же файл-имя добавляется, вы можете использовать Path
класс:
string fullFilePath = ....
string fileName = Path.GetFileName(fullFilePath);
bool contains = lbName.Items.Cast<ListItem>()
.Any(li => Path.GetFileName(li.Text).Equals(fileName, StringComparison.OrdinalIgnoreCase));
if (!contains)
{
lbName.Items.Add(new ListItem(fullFilePath));
}
Что произойдет, если это текстовое поле окажется каталогом для файлового браузера, который добавляет имена файлов в список, но если он снова нажимается, имена файлов снова добавляются ? –
@KevinChun: Боюсь, что я не могу следовать. Код работает с любыми строками, источник не имеет значения. Или вы хотите добавить ** полный путь ** к файлу, но хотите предотвратить добавление второго файла с тем же ** именем файла **? –
: Да, это правильно. –
В кнопке мыши вы можете иметь что-то вроде этого:
if (this.listBox.Items.Contains(this.txtCustomerName.Text) == false)
{
this.listBox.Items.Add(this.txtCustomerName.Text);
}
Или, если вы используете ListItems:
ListItem item = new ListItem(this.txtCustomerName.Text);
if (listBox.Items.Contains(item) == false)
{
listBox.Items.Add(item);
}
что заменить txtCustomerName ?? –
@KevinЧычет значение, которое вы хотите проверить .. – stuartd
Добавьте код в кнопку, можно даже добавить код для проверки вашего события в текстовом поле в реальном времени, что введенный текст верен.
- 1. NHibernate Projections Duplicates To List
- 2. List Duplicates Игнорируется в LINQ Merge
- 3. mysql select from list with duplicates items
- 4. python List Duplicates Определить и присвоить значение
- 5. jquery list box plugin
- 6. Мульти Column List Box
- 7. list Box Django Forms
- 8. list box манипуляции
- 9. Python frames-List Box
- 10. MultiColumn HTML List Box
- 11. Синтаксис клетчатой List Box
- 12. List Box Update Issue
- 13. Windows Forms C# Combo Box List Box
- 14. checked list box text + value
- 15. C# list box новые строки
- 16. list box asp.net selected problem
- 17. asp.net list box item selected
- 18. Excel VBA Combo Box List
- 19. Jquery Dual list Box Plugin
- 20. VB.Net Search Check Box List
- 21. Combo box + list in java
- 22. list box control in asp.net
- 23. Android List View duplicates Редактировать Текстовые значения при прокрутке
- 24. list box selected another list box должен быть заполнен в javascript
- 25. Проблем с Bootstrap Dual List Box
- 26. Binding linq result to list box
- 27. Bullet List in hover box CSS
- 28. MS Access Dropdown List/Combo Box
- 29. Collapsable Drop Down List Box в HTML
- 30. type list box с кнопками увеличения/создания
Можете ли вы разместить код? Что вы уже пробовали? –
@MartinMcGirk: Добавлено! –