首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi TDBGrid 核心屬性深度解析:Options 21 選項、DragMode 拖曳排序與 DefaultDrawing 自繪機制

     編輯:Delphi

16.4 永久欄位賦能 TDBGrid 彈性顯示

使用 Fields Editor 建立永久欄位後,TDBGrid 獲得強大彈性:

  • Fields 列表拖曳 → 調整欄位顯示順序
  • DisplayFormat/EditFormat → 格式化顯示與編輯
  • Required := True → 新增記錄時強制填寫
  • Visible → 控制是否在 Grid 顯示

16.4.1 核心屬性三大支柱

Options:21 項布林微調開關(展開「+」逐項設定)

子屬性True(預設)False
dgEditing允許編輯/插入/刪除唯讀網格
dgAlwaysShowEditor選中即進編輯態需雙擊/F2 才編輯
dgTitles顯示標題列隱藏標題
dgIndicator左側顯示指標箭頭(編輯態變 I、插入態變 *)無指標
dgColLines顯示垂直分隔線無垂直線
dgRowLines顯示水平分隔線無水平線
dgColumnResize拖曳標題列調整欄寬固定欄寬
dgTabsTab 鍵在欄位間移動Tab 鍵跳出 Grid
dgRowSelect整列反白選取單一儲存格反白
dgAlwaysShowSelection失去焦點仍保持反白僅焦點時反白
dgConfirmDelete刪除彈確認直接刪除

其餘 dgCancelOnExit/dgMultiSelect 等請參閱線上說明。

DragMode:執行期欄位拖曳重排

  • dmManual:使用者可拖曳欄位改變顯示順序(僅影響 Grid 顯示順序,不動資料表實體順序)
  • dmAutomatic:禁止拖曳

DefaultDrawing:繪製管道控制

  • True(預設):Delphi 自動依 DisplayFormat/EditFormat 繪製儲存格
  • False:關閉自動繪製,必須 撰寫 OnDrawDataCell 手繪每個儲存格

實戰屬性設定範例(表 16.6)

Table1.DatabaseName := 'DEMOS';
Table1.TableName := 'Customer.DB';
Table1.CanModify := True;
DataSource1.DataSet := Table1;
DataSource1.AutoEdit := True;
DBGrid1.DataSource := DataSource1;
DBGrid1.ReadOnly := False;

編輯投遞機制差異

  • DBEdit 等單欄元件:焦點離開元件即自動 Post
  • DBGrid:以整筆記錄為單位,游標離開該列(移到其他列)才 Post;焦點移到表單其他元件不 觸發 Post
  • 若同資料集有多個視覺元件同時編輯,Delphi 會阻擋 Post 並報錯
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved