Untitled
unknown
plain_text
a year ago
1.4 kB
6
Indexable
import streamlit as st
import pandas as pd
# Sample data (replace with your DataFrame)
data = {'Column1': range(1, 101), 'Column2': range(101, 201)}
df = pd.DataFrame(data)
# Set the number of rows per page
rows_per_page = 10
# Calculate the total number of pages
total_pages = len(df) // rows_per_page + (1 if len(df) % rows_per_page > 0 else 0)
# Get the current page number from Streamlit's session state, default to 1
if 'current_page' not in st.session_state:
st.session_state.current_page = 1
# Define the pagination control
def next_page():
if st.session_state.current_page < total_pages:
st.session_state.current_page += 1
def prev_page():
if st.session_state.current_page > 1:
st.session_state.current_page -= 1
# Calculate the starting and ending index of the current page
start_idx = (st.session_state.current_page - 1) * rows_per_page
end_idx = start_idx + rows_per_page
# Display the current page of the DataFrame
st.write(f"Page {st.session_state.current_page} of {total_pages}")
st.table(df.iloc[start_idx:end_idx])
# Create two columns for "Previous" and "Next" buttons, side by side
col1, col2 = st.columns([1, 1])
# Place buttons in the columns
with col1:
st.button("Previous", on_click=prev_page)
with col2:
st.button("Next", on_click=next_page)
Editor is loading...
Leave a Comment