这个问题通常是由于 GridOptions 没有正确设置引起的。以下示例代码可以作为参考:
from flask import Flask, render_template
from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField
from wtforms.validators import DataRequired
from flask_sqlalchemy import SQLAlchemy
from flask_bootstrap import Bootstrap
from ag_grid.formatters import NumberFormatter
from ag_grid.ag_grid import AgGrid
from ag_grid.column import SelectColumn, ValueColumn, Column, AgGridColumn_static
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db'
app.config['SECRET_KEY'] = 'SecretKey'
bootstrap = Bootstrap(app)
db = SQLAlchemy(app)
class Book(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(80), nullable=False)
author = db.Column(db.String(80), nullable=False)
def __repr__(self):
return '' % self.title
class BookForm(FlaskForm):
title = StringField('Title', validators=[DataRequired()])
author = StringField('Author', validators=[DataRequired()])
submit = SubmitField('Add Book')
@app.route('/', methods=['GET', 'POST'])
def index():
form = BookForm()
if form.validate_on_submit():
book = Book(title=form.title.data, author=form.author.data)
db.session.add(book)
db.session.commit()
column_list = [
Column('id', title='ID', type='numericColumn'),
ValueColumn('title', title='Title'),
ValueColumn('author', title='Author'),
AgGridColumn_static('Actions',
cellRenderer='actionsCellRenderer',
valueGetter='Actions', suppressSorting=True,
suppressMenu=True, suppressFilter=True),
SelectColumn([], multiple=True, suppressMenu=True)
]
data = []
for book in Book.query.all():
data.append({
'id': book.id,
'title': book.title,
'author': book.author,
'Actions': ''
})
options = {
'rowData': data,
'columnDefs': [column.to_dict() for column in column_list],
'suppressMovableColumns': True,
'enableColResize': True,
'enableSorting': True,
'enableFilter': True,
'rowSelection': 'multiple'
}
return render_template('index.html', form=form, grid=AgGrid(data, options=options))
if __name__ == '__main__':
app.run(debug=True)
在此示例代码中,我们使用 Flask 框架,使用 SQLAlchemy 连接 SQLite 数据库,并定义了一个名为'Book”的数据模型。然