將這代碼添加根據用戶輸入的内容在工作表名為數據中篩選出對應數據將數據第4行内容自動填入material_qty14”
时间: 2024-03-11 18:49:16 浏览: 108
可以在`on_material_name_keyrelease`函数中添加以下代码实现:
```python
# 根据用户输入的内容在数据表中筛选出对应的行
for row in range(2, self.data_sheet.max_row + 1):
cell_value = self.data_sheet.cell(row=row, column=1).value
if cell_value == user_input:
# 找到对应的行后,将第4列的值填入material_qty14中
self.material_qty14.set(self.data_sheet.cell(row=row, column=4).value)
break
```
完整的`on_material_name_keyrelease`函数代码如下:
```python
def on_material_name_keyrelease(event):
# 获取用户输入的内容
user_input = self.material_name11.get()
if not user_input:
# 如果用户没有输入任何内容,则展示所有选项
self.material_name11.configure(values=data_list)
else:
# 根据用户输入的内容过滤下拉框的选项
filtered_options = [option for option in data_list if user_input in option]
if filtered_options:
# 如果有符合条件的选项,则更新下拉框的选项并展开下拉框
self.material_name11.configure(values=filtered_options)
self.material_name11.event_generate('<Down>')
# 根据用户输入的内容在数据表中筛选出对应的行
for row in range(2, self.data_sheet.max_row + 1):
cell_value = self.data_sheet.cell(row=row, column=1).value
if cell_value == user_input:
# 找到对应的行后,将第4列的值填入material_qty14中
self.material_qty14.set(self.data_sheet.cell(row=row, column=4).value)
break
else:
# 如果没有符合条件的选项,则关闭下拉框
self.material_name11.event_generate('<Escape>')
```
阅读全文