表T1字段 ID BH TID Tname
1 001 T01 AA
3 001 T02 BB表T2
字段 TID Tname
T01 AA
T02 BB
T03 CCdbgrid 连接 表T1 Tid格 下拉 picklist 动态 赋值 T2 内容在窗体 点击 增加按钮 在dbgrid 追加记录一记录, 默认 max(ID)+1 ,BH 最后一条记录 ,Tid 可以下拉,同时在下拉中也显示对应Tname 内容。
当选择,TID 后,给dbgrid Tname赋值对应Tname。 谁能帮我这个忙,最好帮写个程序,不胜感激!!!可以帮发到[email protected] 邮箱。请吃饭!!!
1 001 T01 AA
3 001 T02 BB表T2
字段 TID Tname
T01 AA
T02 BB
T03 CCdbgrid 连接 表T1 Tid格 下拉 picklist 动态 赋值 T2 内容在窗体 点击 增加按钮 在dbgrid 追加记录一记录, 默认 max(ID)+1 ,BH 最后一条记录 ,Tid 可以下拉,同时在下拉中也显示对应Tname 内容。
当选择,TID 后,给dbgrid Tname赋值对应Tname。 谁能帮我这个忙,最好帮写个程序,不胜感激!!!可以帮发到[email protected] 邮箱。请吃饭!!!
要是想要自己的gird那样 就只有自己重写gird控件了
在DBGrid網格中實現下拉清單,設置好DBGrid中該欄位的PickList字串清單、初始的序號值DropDownRows即可。以職工資訊庫中的籍貫欄位(字串類型)為例,具體設計步驟如下:
1、在表單上放置Table1、DataSource1、DBGrid1、DBNavigator1等控制項物件,按下表設置各個物件的屬性:
對象 屬性 設定值
Table1 DataBase sy1
TableName zgk.dbf //職工資訊庫
DataSource1 DataSet Table1
DbGrid1 DataSource DataSource1
DBNavigator1 DataSource Datasource1 2、按兩下Table1,在彈出的Form1.Table1窗口中,用右鍵彈出快顯功能表,按一下AddFields功能表項目;選擇所有的欄位後,按OK按鈕。
3、修改第2步新增欄位的DisplayLabel屬性。以Table1ZGBH欄位為例,在ObjectInspector視窗中選擇Table1ZGBH,修改屬性DisplayLabel=職工編號,其餘欄位類似。
4、按兩下DBGrid1,在彈出的Editing DBGrid1.Columns視窗中,按一下AddallF ds按鈕,增加Table1的所有欄位。
5、在EditingDBGrid1.Columns視窗,選擇jg這一行,切換到ObjectInspector視窗,修改它的PickList.Strings為“湖北枝江市、北京市、河南平頂山市、浙江德清市”
6、在Form1.Oncreate事件中寫 入語句:
Table1.Open;
7、F9運行,用滑鼠點擊某個記錄的籍貫欄位,右邊即出現一個按鈕,點擊這個按鈕,可出現一個下拉清單,包含第5步中輸入的四行字串,可用滑鼠進行選擇。當然也可以自行輸入一個並不屬下拉清單中的字串。
二、DBGrid中的查找欄位
所謂查找欄位(LookUpField),即DBGrid 中的某個關鍵字段的數值來源於另外一個資料庫的相應欄位。運用查找欄位技術,不僅可以有效的避免輸入錯誤,而且DBGrid的顯示方式更為靈活,可以不顯示關鍵字段,而顯示源資料庫中相對應的另外一個欄位的資料。
例如,我們在DBGrid中顯示和編輯職工資訊,包括職工編號、職工姓名、籍貫、所在單位編號,而單位編號來源於另一個資料庫表格——單位庫,稱“單位編號”為關鍵字段。如果我們直接顯示和編輯單位編號的話,將會面對1、2、3等非常不直觀的數字,編輯時極易出錯。但是如果顯示和編輯的是單位庫中對應的單位名稱話,將非常直觀。這就是DBGrid的所支持的查找欄位帶來的好處。
實現DBGrid的查找欄位同樣不需要任何語句,具體設計步驟如下:
1、在表單上放置Table1、Table2、DataSource1、DBGrid1、DBNavigator1等控制項物件,按下表設置各個物件的屬性:
對象 屬性 設定值
Table1 DataBase sy1
TableName zgk.dbf //職工資訊庫
Table2 DataBase sy1
TablenAME dwk.dbf //單位資訊庫
DataSource1 DataSet Table1
DbGrid1 DataSource DataSource1
DBNavigator1 DataSource Datasource1
2、按兩下Table1,在彈出的Form1.Table1窗口中,用右鍵彈出快顯功能表,按一下AddFields功能表項目;選擇所有的欄位後,按OK按鈕。
3、修改第2步新增欄位的DisplayLabel屬性。以Table1ZGBH欄位為例,在ObjectInspector視窗中選擇Table1ZGBH,修改屬性DisplayLabel=職工編號,其餘欄位類似。
4、設置Table1DWBH.Visible=False。
5、在Form1.Table1視窗,用右鍵彈出快顯功能表,按一下NewField功能表項目,新增一個查找欄位DWMC,在彈出的視窗設置相應的屬性,按OK按鈕確認;在ObjectInspector視窗,設置Table1DWMC.DisplayLabel= 單位名稱。
6、在Form1.Oncreate事件中寫 入語句:
Table1.Open;
7、按F9運行,當游標移至某個記錄的單位名稱欄位時,用滑鼠點擊該欄位,即出現一個下拉清單,點擊右邊的下箭頭,可在下拉清單中進行選擇。在這裡可以看出,下拉清單的內容來自於單位資訊庫,並且不能輸入其他內容。
三、DBGrid中的下拉清單和查找欄位的區別
雖然DBGrid中的下拉清單和查找欄位,都是以下拉清單的形式出現的,但兩者有很大的差別。
1、用PickList屬性設置的下拉清單,它的資料是手工輸入的,雖然也可以在程式中修改,但動態特性顯然不如直接由另外資料庫表格提取資料的查找欄位。
2、用PickList屬性設置的下拉清單,允許輸入不屬於下拉清單中的資料,但查找欄位中只能輸入源資料庫中關鍵字段中的資料,這樣更能保證資料的完整性。
3、用PickList屬性設置的下拉清單設計較為簡單。
cxgird也是控件 应该是dev的
都是第三方, 重写很麻烦的 很多要自己注意的