Skip to content

Commit ab899a9

Browse files
committed
max_page 관련 버그 수정
1 parent 583ae46 commit ab899a9

2 files changed

Lines changed: 9 additions & 6 deletions

File tree

gui.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,7 @@ def on_hv_edit_callback(self, is_column, row, str_menu):
438438
self.table_widget.set_data(
439439
self.dm.cond_data, ENUM_TABLEVIEW_INITMODE.EDIT)
440440

441-
if edit_type == DataEditType.REMOVE_ROW:
441+
if edit_type == DataEditType.REMOVE_ROW or edit_type == DataEditType.REMOVE_COLUMN:
442442
self.refresh_tables(row - 1)
443443
else:
444444
self.refresh_tables(row)

gui_tableview.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import sys
2+
import math
23
from PyQt5.QtWidgets import QApplication, QTableView, QDialog, QMenu, QCheckBox, QDialogButtonBox, QGridLayout, QMessageBox, QAbstractItemView, QHeaderView, QWidget, QVBoxLayout, QHBoxLayout, QPushButton, QLabel, QLineEdit
34
from PyQt5.QtCore import QAbstractTableModel, Qt, pyqtSignal
45
from PyQt5.QtGui import QIntValidator, QPainter, QColor, QFont
@@ -179,7 +180,7 @@ def get_page(self):
179180

180181
def get_maxpage(self):
181182
model = self.model()
182-
return int(len(model._data) / model._page_size) + 1
183+
return math.ceil(len(model._data) / model._page_size)
183184

184185
def next_page(self):
185186
model = self.model()
@@ -381,15 +382,17 @@ def set_data(self, data, mode):
381382
0, ENUM_TABLEVIEW_SORTMODE.ORIGINAL)
382383
self.now_sort = []
383384

385+
# EDITNEEDED : EDIT 모드를 위해 저장함
384386
before_page = self.get_page()
385387

386388
self.init_page()
387389

390+
# EDITNEEDED : page init 하면 1페이지로 돌아가기 때문에, 다시 기존에 있었던 page로 이동한다.
388391
if mode == ENUM_TABLEVIEW_INITMODE.EDIT:
389-
max_pag = self.table_view.get_maxpage()
390-
if before_page <= max_pag:
391-
self.page_label.setText(str(before_page))
392-
self.goto_page()
392+
max_page = self.table_view.get_maxpage()
393+
page = before_page if before_page <= max_page else max_page
394+
self.page_label.setText(str(page))
395+
self.goto_page()
393396

394397
# this function must be called after table_view.set_data
395398

0 commit comments

Comments
 (0)