Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как при выборе записи в ComboBox, удалить ее с листа? / 6 сообщений из 6, страница 1 из 1
25.06.2015, 13:24
    #38992571
Kulakov Oleg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как при выборе записи в ComboBox, удалить ее с листа?
Как при выборе записи в ComboBox, удалить ее с листа?
...
Рейтинг: 0 / 0
25.06.2015, 13:45
    #38992611
Sergey Sizov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как при выборе записи в ComboBox, удалить ее с листа?
Kulakov OlegКак при выборе записи в ComboBox, удалить ее с листа?C какого листа? Как комбо с "листом" связан? Или это надо угадать?
...
Рейтинг: 0 / 0
25.06.2015, 14:16
    #38992683
Дед Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как при выборе записи в ComboBox, удалить ее с листа?
Есть команды работы со списком в ComboBox (LstBox), если нет привязки к таблице:

*// удаление записи (в скобках указывается индекс записи)
This.RemoveItem(1)
*// добавление записи (в скобках текст добавления)
This.AddItem(This.Text)
*// очистка списка
This.Clear

Но что конкретно нужно в вашем вопросе, не понятно...
...
Рейтинг: 0 / 0
25.06.2015, 17:53
    #38993003
Kulakov Oleg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как при выборе записи в ComboBox, удалить ее с листа?
Sergey SizovKulakov OlegКак при выборе записи в ComboBox, удалить ее с листа?C какого листа? Как комбо с "листом" связан? Или это надо угадать?
из того же списка ComboBox.

Дед ЕвгенийЕсть команды работы со списком в ComboBox (LstBox), если нет привязки к таблице:

*// удаление записи (в скобках указывается индекс записи)
This.RemoveItem(1)
*// добавление записи (в скобках текст добавления)
This.AddItem(This.Text)
*// очистка списка
This.Clear

Но что конкретно нужно в вашем вопросе, не понятно...
Список не пирвязан к таблице. Может на примере покажете.
...
Рейтинг: 0 / 0
25.06.2015, 23:22
    #38993156
Как при выборе записи в ComboBox, удалить ее с листа?
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
oForm = CREATEOBJECT("Form")

oForm.AddObject("cmb", "ComboBox")
oForm.AddObject("txtChoice", "TextBox")
oForm.AddObject("cmdAdd", "My_CommandButton")

WITH oForm
	.WindowType = 1
	.AutoCenter = .T.
	.Width = 400
	.Height = 200
	.Caption = "Комбинированный список"
ENDWITH

WITH oForm.cmb
	.Style = 2
	.Left = 50
	.Top = 30
	.Width = 300
	.Sorted = .T.
	* Если RowSourceType = 1 , то список заполняется данными непосредственно указанными в свойтсве RowSource 
	.RowSourceType = 1					
	.RowSource = "Visual FoxPro,C++,Delphi,C#"
	.DisplayValue = "Visual FoxPro"
ENDWITH

WITH oForm.txtChoice
	.Left = 50
	.Top = 140
	.Width = 300
ENDWITH

WITH oForm.cmdAdd
	.Left = 120
	.Top = 85
	.Autosize = .T.
	.Caption = "Добавить в список"
ENDWITH

oForm.cmb.Visible = .T.
oForm.txtChoice.Visible = .T.
oForm.txtChoice.SetFocus
oForm.cmdAdd.Visible = .T.
oForm.Show

*--------------------------------------------------------------------
DEFINE CLASS My_CommandButton As CommandButton
	PROCEDURE Click
	
		* Проверяем, чтобы текстовое поле из которого будут попадать значения в комбинированный список было не пустым
		IF EMPTY(ThisForm.txtChoice.Value)
			WAIT "Пустое значение не добавляю !" WINDOWS NOWAIT
			ThisForm.txtChoice.SetFocus
			RETURN 
		ENDIF 
		
		* Добавляем значение текстового поля
		ThisForm.cmb.AddItem(ThisForm.txtChoice.Value)
		
		* Добавленный пункт определяем как выбранный
		ThisForm.cmb.Value = ThisForm.cmb.ListItem(ThisForm.cmb.NewItemID)
		
		* Очищаем текстовое поле
		ThisForm.txtChoice.Value = ""
		
		* Активизируем текстовое поле
		ThisForm.txtChoice.SetFocus
	ENDPROC
ENDDEFINE
...
Рейтинг: 0 / 0
29.06.2015, 10:43
    #38994728
Дед Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как при выборе записи в ComboBox, удалить ее с листа?
Вот есть небольшой пример, который у меня используется при поиске. Ввод значения поиска пишется в ComboBox, и потом его и запоминает в нем. Получается окно ввода с памятью.
Код пишется в метод Valid

*// Если ничего не введено, или пустое значение - ничего не происходит
IF EMPTY(This.Text) &&.OR. ALLTRIM(This.Text) = ALLTRIM(This.Value)
RETURN
ENDIF
WITH Thisform
NewPopup = .T. && Признак записи в ComboBox
*// Сканируем существующий список, если уже такое значение (разрешать нам добавлять в список или нет)
FOR nn = 1 TO This.ListCount
IF This.List(nn) = ALLT(This.Text)
*// если такое значение уже найдено в списке, то признак записи принимает .F.
NewPopup = .F.
ENDIF
ENDFOR
*// Если такого значения нет в списке то его добавляем
IF NewPopup = .T.
*// Ограничение количества записей в списке равное 20, если больше, то первая запись удаляется, а текущая добавляется
IF This.ListCount >= 20
This.RemoveItem(1) && удаляем первую запись
ENDIF
This.AddItem(This.Text) && добавляем новую запись к текущим
ENDIF
Получается тут есть и добавление записи и удаление. А порядковый номер записи, это его индекс.
Поиграйся с этой процедурой.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как при выборе записи в ComboBox, удалить ее с листа? / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]