發表文章

🌐Vue 表格框線消失怎麼辦?從零了解 sticky 欄位、border-collapse 與表格樣式修正教學

Vue 表格框線突然消失?其實很多時候不是資料問題,而是 CSS 的顯示邏輯 在做企業系統、報表系統、供應鏈系統、ERP 或內部管理平台時,前端很常會碰到一種狀況: 明明表格資料正常,欄位也都有顯示, 但使用者一看畫面就說: 「怎麼有些格線不見了?」 「表頭看起來像沒切開」 「某幾欄黏住後,框線變得怪怪的」 「滾動時右邊線條像被吃掉」 這種問題尤其容易發生在: 表格欄位很多 有固定表頭 有固定左側欄位 有水平捲動 有篩選按鈕 有 sticky 欄位 有交錯底色 也就是說,只要你的 Vue 頁面是一張「比較複雜的商業表格」,幾乎都可能遇到。 這篇文章我會用 完全沒有前端基礎的人也能理解的方式 ,一步一步解釋: 為什麼表格框線會消失 border-collapse 到底是什麼 為什麼 sticky 欄位會讓線條看起來怪怪的 該怎麼修改 CSS 才能穩定顯示框線 提供一份可直接套用的示意程式碼 一、先理解問題:你看到的「框線消失」,不一定是真的消失 很多人第一時間會以為: 是資料少了 是欄位沒對齊 是瀏覽器壞掉 是 Vue render 出問題 是 API 回傳資料怪怪的 但實際上,大多數這類問題都不是資料層,而是 CSS 視覺層 。 也就是: 線其實存在,但因為邊框合併、顏色太淡、sticky 疊層、背景覆蓋,導致肉眼看起來像消失。 這就是前端最麻煩的地方之一。 資料沒錯,DOM 也沒錯,畫面卻看起來像壞掉。 二、最常見元兇: border-collapse: collapse HTML 表格有一個非常常見的 CSS 屬性: table { border-collapse: collapse ; } 很多人平常都會這樣寫,因為它很常見,也很方便。 但要知道,這行的意思是: 相鄰儲存格的邊框會合併成一條線。 乍看之下很合理,但當你的表格開始變複雜時,就可能出現問題。 例如: A 欄有左框線 B 欄有右框線 colla...

🧾SQL Server 日期轉換錯誤 (241) + Loader 檔名解析失敗?一次搞懂半導體資料載入常見陷阱與解法

🔍 問題背景:Loader 為什麼突然壞掉? 在實務中,我們常會遇到這種情況: Loader 原本正常運作 某一天突然: ❌ 資料全部進不去 ❌ log 出現錯誤 ❌ 檔案被丟到 fail 資料夾 這篇文章用一個真實案例帶你理解: 👉 其實問題不是一個,而是兩個「時間相關」問題同時發生 🚨 問題一:SQL Server Error 241(日期轉換失敗) 📌 錯誤訊息長這樣 DataError: ('22007', 'SQL Server 無法將字串轉換成 datetime (241)') 🧠 問題原因(白話版) 你的程式做了這件事: 👉 把「不存在的時間」當成字串寫進資料庫 例如: END_TIME = 'NaT' 但 SQL Server 看到會說: 👉「這不是日期,我不認識」 所以直接報錯。 🧩 為什麼會出現 NaT? 在 Python(特別是 pandas)裡: 值 意義 NaT Not a Time(時間版的空值) 當 Loader 解析不到時間,就會產生這個值。 ❌ 常見錯誤寫法(示意) # ❌ 錯誤:直接轉字串 sql = f"UPDATE table SET end_time = ' { time_value } '" 當 time_value = NaT 時: 'end_time = 'NaT'' 👉 SQL Server 爆炸 💥 ✅ 正確作法 ✔ 方法一:改成 NULL if time_value i...

🧠 Spotfire Filter 改欄位後資料消失?從零搞懂 Property Control 與 Script 關係

📌 問題情境(很多人都會遇到) 你在 Spotfire 裡有一個篩選面板(Filter), 例如: OSAT PO_No Product No LOT_ID 某一天你做了一個小改動: 👉 把篩選欄位從 Job No 改成 PO_No 結果發生了: ❌ CPK Summary(報表)突然沒資料 ❌ 明明有選值,但畫面是空的 ❌ 沒有 error,看起來「壞掉但沒報錯」 🎯 這篇文章會幫你搞懂三件事 Spotfire 的 Filter 到底怎麼運作 為什麼改欄位會讓資料消失 如何快速找到是哪段 Script 造成問題 🧩 一、Spotfire Filter 其實不是你想的那樣 很多人以為: 👉 Filter = 資料庫直接篩選 但其實你現在用的是: 👉 Property Control(文件屬性控制) 簡單講: 元件 真正用途 Filter UI 只是畫面上的選單 Document Property 真正儲存選到的值 Script / SQL 根據 Property 去查資料 🧠 白話比喻(超重要) 想像你在點飲料: UI = 點餐機 Property = 你選的飲料名稱 Script = 店員拿去做飲料 👉 如果你點「紅茶」,但店員只認「GreenTea」 ...

🌐Vue 表格篩選視窗被遮住怎麼辦?一次看懂表格空白列高度、下拉篩選框顯示問題與修正方式

Vue 表格篩選視窗被遮住怎麼辦?新手也能看懂的完整教學 在做後台系統、報表頁面或資料查詢頁時,最常見的一種畫面就是「大表格」。 像是生產資料、訂單資料、客戶資料、排程結果,通常都會做成可以搜尋、可以篩選、可以匯出的表格。 但很多人在實作這種功能時,常常會遇到兩個很煩的問題: 點開欄位篩選時,下拉視窗被切掉,看不到完整內容 當篩選後沒有資料時,提示訊息那一列太矮,看起來很空、很怪 這篇文章會用 完全新手也能理解 的方式,帶你一步一步看懂: 為什麼表格篩選框會被遮住 為什麼「查無資料」那一列看起來很醜 怎麼用 Vue + CSS 修正 怎麼讓畫面更像正式商業系統 一、什麼是「表格篩選框被遮住」? 想像你在 Excel 裡面按欄位篩選,會跳出一個可以勾選資料的清單。 在網頁中,我們也常常會做類似的功能,例如: 點「客戶」欄位的小按鈕 跳出所有客戶名稱 勾選你想保留的資料 表格只顯示符合條件的列 問題是,很多人把這個篩選框放在表格容器裡後,因為外層區塊設定了 overflow ,所以超出邊界的部分就直接被裁掉了。 你看到的現象通常會像這樣: 篩選框明明有打開 但只露出一小部分 想看完整內容還要拖旁邊的捲軸 使用者會以為功能壞掉 這其實不是 Vue 壞掉,也不是資料沒出來,通常只是 CSS 顯示層級與容器裁切設定 的問題。 二、另一個常見問題:篩選後沒資料,提示列太矮 很多頁面在篩選之後,如果沒有符合條件的資料,會顯示一行字,例如: 符合篩選的資料為空 但是如果這一列只是普通 <td> ,就會變成: 高度很小 只有一條細細的訊息 下方大片空白 看起來不像完整介面 對使用者來說,這種畫面很容易造成誤解,會以為: 是資料沒載入完成 是頁面壞掉 是自己操作錯誤 所以實務上,我們通常會把這一列做成 比較高的提示區塊 ,讓使用者一眼就知道: 「不是壞掉,是目前篩選條件下沒有資料。」 三、先用白話文理解問題本質 這類問題,核心其實只有兩件事。 ...