Как Вы ловите событие Save или Load на классе Linq-SQL?

Чтобы добавить виджеты в Canvas, вы должны использовать метод create_window, а не grid(). Затем вы должны обновить холст перед настройкой области прокрутки.

for i in range(30):
    btn = tk.Button(buttonFrame, text=str(i+1))
    buttonFrame.create_window((100,i*50), window=btn)
root.update()
buttonFrame.config(scrollregion=buttonFrame.bbox("all"))

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

5
задан Shaul says I Support Monica 30 April 2009 в 09:57
поделиться

2 ответа

Для вставок:

  1. Создайте базовый класс для ваших сущностей.

  2. Добавьте несколько виртуальных методов.

  3. Переопределите DataContext.SubmitChanges .

  4. Вызовите DataContext.GetChangeSet () и итерацию по вставкам с применением функции, которую вы определили ранее.

Чтобы отменить изменения, посмотрите на мой метод расширения .

7
ответ дан 13 December 2019 в 19:35
поделиться

Что ж, создание исключения фактически отменит изменение ... хотя и немного резкое.

Еще одна точка расширения - переопределение SubmitChanges для данных. -context, чтобы получить ожидающие изменения ( GetChangeSet ), выполнить любые окончательные изменения (возможно, одитинг), а затем вызвать base.SubmitChanges . После этого вы можете поместить любые операции после сохранения после (используя набор изменений, полученный вами до сохранения).

4
ответ дан 13 December 2019 в 19:35
поделиться
Другие вопросы по тегам:

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