Question

Is there a UI data table example that includes a no data message?

Answer and Explanation

Yes, there are many UI data table examples that include a "no data" message. These are crucial for providing a good user experience when a table is empty. Here's how you can implement one using HTML, CSS, and a bit of JavaScript:

HTML Structure:

First, create a basic HTML table structure. Include a placeholder for the "no data" message within the table container.

<div class="table-container">
  <table id="data-table">
    <thead>
      <tr>
        <th>Name</th>
        <th>Age</th>
        <th>City</th>
      </tr>
    </thead>
    <tbody id="table-body">
    </tbody>
  </table>
  <div id="no-data-message" class="no-data-message" style="display: none;">
    <p>No data available.</p>
  </div>
</div>

JavaScript Logic:

Use JavaScript to check if the table has any data. If not, display the "no data" message and hide the table headers.

document.addEventListener("DOMContentLoaded", function() {
  const tableBody = document.getElementById("table-body");
  const noDataMessage = document.getElementById("no-data-message");
  const table = document.getElementById("data-table");

  function checkTableData() {
    if (tableBody.children.length === 0) {
      noDataMessage.style.display = "block";
      table.style.display = "none";
    } else {
      noDataMessage.style.display = "none";
      table.style.display = "table";
    }
  }

  // Example: Simulate data loading (replace with your actual data)
  const data = []; // Or your actual data array

  if (data.length > 0) {
    data.forEach(item => {
      const row = tableBody.insertRow();
      const nameCell = row.insertCell();
      const ageCell = row.insertCell();
      const cityCell = row.insertCell();
      nameCell.textContent = item.name;
      ageCell.textContent = item.age;
      cityCell.textContent = item.city;
    });
  }

  checkTableData();
});

CSS Styling:

Add some basic CSS to style the table and the "no data" message.

.table-container {
  width: 100%;
  overflow-x: auto;
}

#data-table {
  width: 100%;
  border-collapse: collapse;
}

#data-table th, #data-table td {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: left;
}

#data-table th {
  background-color: #f2f2f2;
}

.no-data-message {
  text-align: center;
  padding: 20px;
  color: #888;
}

This example provides a basic implementation. You can customize the styling and logic to fit your specific needs. Remember to replace the example data loading with your actual data source.

More questions

Dashboard
Talk to AI
Image ID
AI Photos
Web Design