У кого-либо есть пример Пользовательского интерфейса для создания оператора Where SQL?

Возможно, самый простой способ - создать соответствующее количество экземпляров Patch:

import matplotlib.patches as mpatches
import matplotlib.pyplot as plt
import numpy as np

data  = np.random.randint(8, size=(100,100))
cmap = plt.cm.get_cmap('PiYG', 8) 
plt.pcolormesh(data,cmap = cmap,alpha = 0.75)
# Set borders in the interval [0, 1]
bound = np.linspace(0, 1, 9)
# Preparing borders for the legend
bound_prep = np.round(bound * 7, 2)
# Creating 8 Patch instances
plt.legend([mpatches.Patch(color=cmap(b)) for b in bound[:-1]],
           ['{} - {}'.format(bound_prep[i], bound_prep[i+1] - 0.01) for i in range(8)])

5
задан itsmatt 22 September 2008 в 23:08
поделиться

10 ответов

Некоторые люди утверждали бы, что это столь интуитивно, как это добирается.

logic

3
ответ дан 18 December 2019 в 09:55
поделиться

Вот снимок экрана прототипа, который я сделал для приложения Linux несколько лет назад. Вы могли нажать +/-значки, чтобы добавить строки к группе и нажать, "добавьте новый...", и "удаляют в последний раз..." кнопки для удаления самой нижней группы.

Выше каждой группы были несколько menubuttons, которые имели выбор "И объекты, которые соответствуют..." / "ИЛИ объекты, которые соответствуют..." (за исключением первой группы, которая варьировалась немного), и "ЛЮБОЕ из следующих" / "ВСЕ следующие". Каждая строка была осведомлена о типе, поэтому при выборе строки для переменной, условия были бы "", "НЕ", "НАЧИНАЕТСЯ" и так далее. Для целых чисел Вы добрались бы "", "БОЛЬШЕ, ЧЕМ", и т.д., и для дат "НА", "ПРЕЖДЕ", "НА ИЛИ ПРЕЖДЕ" и так далее.

Где Вы видите слово "или" перед второй и третьей строкой первой группы, которая была бы "или" если "КАКОЕ-ЛИБО следующее" было выбрано, и "и" если "ВСЕ следующее": был выбран, чтобы укрепить выбор и помочь "считать" диалоговое окно.

Это не позволило бы Вам сделать любой мыслимый запрос, но я думаю, что это покрыло приблизительно 90% того, что средний пользователь захочет сделать и выполнил в нем, что я думал, был довольно применимый путь.

screenshot of db query form
(источник: clearlight.com)

7
ответ дан 18 December 2019 в 09:55
поделиться

TheBat! имеет лучший интерфейс, для которого я лично совершил нападки на. (Используемый для почтовых правил вида.)

Это идет:

Папка Source не является одним из \\Google\Inbox

И

Подчиненные концы с "новым комментарием"

ИЛИ Предмет соответствует "некоторой строке"

2
ответ дан 18 December 2019 в 09:55
поделиться

Принимая.NET, я пошел бы с DataGridView, чтобы сохранить каждое условие и присвоить каждому идентификатор, поскольку это создается, и имейте текстовое поле, которое позволяет Вам, вводят особые условия запроса.

Вы могли затем, после того как все условия записаны, допускают объединение 2 за один раз или с И или с ИЛИ и затем отображение получающегося запроса для проверки

Condition1

Condition2

Condition3

Condition4

Condition5

в Вашем случае, после того как Вы добавляете каждого к своему набору данных и заполняете DataGridView, Вы затем сделали бы (я воображаю форму с 3 выпадающими полями, лучшим и понимаю, каждый позволяет для условий или "составных объектов", и выпадающая середина И/ИЛИ только:

Condition1 И Condition2 = "Compound1"

Condition1 И Condition5 = "Compound2"

Compound1 ИЛИ Compound2 = "Compound3"

Compound3 И Condition4 = "Compound4"

 

и compound4 является Вашим заключительным запросом

иметь смысл?

2
ответ дан 18 December 2019 в 09:55
поделиться

Если бы это достаточно важно для пребывания в течение большого количества времени на, я рассмотрел бы использование схем Венна. Визуализация представит наборы результатов, а не условия запроса. Таким образом для демонстрации И Вы показали бы два круга, представляющие результаты, и выделили бы перекрытие между ними (пересечение).

Для демонстрации ИЛИ Вы показали бы эти два круга и выделили бы объединение обоих.

Затем для показа целого многослойного запроса можно или показать пять кругов с некоторой комбинацией объединения и пересечения, или иначе объединить каждую круглую скобку и затем скрыть деталь, превратив результаты в новый круг для объединения с другими элементами. Много перетаскивания здесь и динамическое изменение размеров подпунктов для ясности.

Для создания это интуитивное и простое в использовании взяло бы некоторую работу, но для некоторых приложений это будет действительно мощный интерфейс.

1
ответ дан 18 December 2019 в 09:55
поделиться

Лучший интерфейс я видел это, был управлением собственной разработки, которое потянуло дерево, чтобы ясно показать порядок операций. Я никогда не видел стороннее управление, которое сделало это, но я не искал один также.

0
ответ дан 18 December 2019 в 09:55
поделиться

Microsoft SQL Server имеет интерфейс как этот, я использовал его в SQL Server 2000, но я держал пари, что это в 2005 специально также, таким образом, можно смотреть, если Вы хотите.

1
ответ дан 18 December 2019 в 09:55
поделиться

Можно проверить, как Доступ MS делает это. Я не назову это интуитивным, но это просто.

0
ответ дан 18 December 2019 в 09:55
поделиться

Я раньше работал над системой, где мы выровняли булеву логику, подобную ниже.

Правые столбцы (Внутренние) и (Внешние), обеспечивают два уровня логики.

Variable       Inner     Outer
Condition1     And
Condition2               Or
Condition1     And
Condition5               And
Condition4               

Or more optimized...

Condition4               And
Condition1               And       
Condition2               Or
Condition5
0
ответ дан 18 December 2019 в 09:55
поделиться

Это довольно характерно для своего домена, но f-пятно имеет хороший способ сделать это. Это - фото программное обеспечение управления, и если Вы нажимаете на один из тегов для нахождения изображений тегом, это отображает панель через вершину результатов поиска. Вы затем можете перетащить теги на ту панель, и щелкнуть правой кнопкой для выбора отрицания и можете перетащить теги вокруг в панели для группировки в и и или пункты. Я не уверен, как хорошо, который масштабируется для тонн тегов (или неперечисленные условия), но это очень просто для выяснения и приятно интерактивный.

0
ответ дан 18 December 2019 в 09:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: