B4A Library UltraDBGrid v1.01 for B4A – Advanced Grid with Frozen Columns, Footers, and Custom Styles

📌 UltraDBGrid v1.01 (B4A)

A fully customizable and database-friendly grid component for B4A,
designed to give developers maximum control over rows, columns, styles, and data binding.
Supports both manual column definitions and auto-detection from SQL queries.

---

✨ Features
  • Database Integration
    - Bind grid to any SQL query with DataSource.
    - Auto-detects columns if not defined manually.
  • Custom Columns
    - Add columns manually via AddColumn.
    - Supports column widths, headers, and data types.
  • Headers & Footers
    - Full control over colors, fonts, alignment, and height.
    - Frozen columns with independent headers & footers.
  • Row Customization
    - Adjustable row height.
    - Alternate row styling.
    - Custom cell styles.
  • Search & Sorting
    - Built-in search panel with highlight.
    - Auto-detects ORDER BY and shows sort indicators.
    - Single-click column sorting.
  • Frozen Columns
    - First column can stay fixed while scrolling horizontally.
  • Selection Handling
    - Customizable selection color.
    - Methods for clearing or refreshing selection.
  • Customizable Grid Appearance
    - Grid background color.
    - Border visibility.
    - Highlight color.
    - Theme-friendly.
  • Performance
    - Uses UltimateListView internally for smooth scrolling.
    - Supports large datasets.

---

🎬 Demo Apps (10 Examples)

1. Cell Customization


2. Column & Row Customization


3. Database Binding


4. Footers


5. Frozen Column


6. Headers


7. Grid Customization (colors, styles, etc.)


8. Search Queries


9. Sorting


10. Selections


---

📦 Installation
1. Copy UltraDBGrid.bas to your project’s Class Modules.
2. Add UltimateListView library to your project.
3. Add UltraDBGrid to your layout or create it programmatically.

---

🚀 Quick Example
Code:
' Initialize grid
UltraDBGrid1.Initialize(Me, "Grid")
Activity.AddView(UltraDBGrid1, 0, 0, 100%x, 100%y)

' Add column manually (optional)
UltraDBGrid1.AddColumns("Name", "name", 120dip, UltraDBGrid1.TypeString)

' Bind to database
UltraDBGrid1.DataSource(SQL1, "SELECT id, name, salary FROM employees ORDER BY name")

---

📥 Download
👉
(Library + 10 Demo Apps + GIFs)

---

💬 Notes
- Tested on B4A 12+ with UltimateListView.
- Current version: v1.01 (Initial Release).
- Feedback & feature requests are welcome!
 

Attachments

  • Library.rar
    18.4 KB · Views: 45
  • Cell Customize.rar
    405.1 KB · Views: 38
  • Column & Row Customize.rar
    336.3 KB · Views: 35
  • Footers.rar
    370.6 KB · Views: 40
  • Main Data.rar
    214.9 KB · Views: 35
  • Sorting.rar
    389.4 KB · Views: 38
  • Selection.rar
    334.8 KB · Views: 35
  • Search.rar
    390.6 KB · Views: 33
  • Headers.rar
    391.5 KB · Views: 37
  • Grid Customize.rar
    393.3 KB · Views: 36
  • Frozen Column.rar
    387.8 KB · Views: 38
  • Database.rar
    312.5 KB · Views: 37

Xfood

Expert
Licensed User
It would be better not to use
the UltimateListView library, since 2018, maybe you could use the xclv, which is an integrated library
 

incendio

Well-Known Member
Licensed User
Longtime User
It would be better not to use
the UltimateListView library, since 2018, maybe you could use the xclv, which is an integrated library
Why not ULV? I use both but for a table with more than 2K rows, still use ULV.

Also, for record search, not sure if xclv can do it.
 

incendio

Well-Known Member
Licensed User
Longtime User
Of course you can, you could even use a b4xtable, I'm just saying this because ulv is quite old, I'm not sure if it will work with the new versions of Android
Last time I checked, in my case, it worked fine with Android 16.
 
Top