線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2725
推到 Plurk!
推到 Facebook!

為什麼string grid的combobox無法出現item項目

答題得分者是:gemi0305
gilly
一般會員


發表:6
回覆:7
積分:2
註冊:2003-12-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-07-02 16:36:26 IP:210.201.xxx.xxx 未訂閱
我是用AdvStringGrid , 在Cell裡放ComboBox...可是下拉式的item就無法出現了. 有人能解答ㄇ
nlj859
資深會員


發表:139
回覆:375
積分:322
註冊:2004-03-20

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-07-05 00:23:00 IP:219.81.xxx.xxx 未訂閱
hello,你好, 在AdvStringGrid的Cell裡放ComboBox,的確是蠻特殊的做法. 不過這樣做是沒問題的,希望我沒有誤解你的意思. "先拉一個StringGrid,在拉一個ComboBox在上面" 不曉得你可以將程式碼附件上來嗎? 謝謝.
gilly
一般會員


發表:6
回覆:7
積分:2
註冊:2003-12-29

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-07-05 09:21:07 IP:210.201.xxx.xxx 未訂閱
我是希望cell中能以combobox的方式呈現選項... 之前看到delphi板上也有人在db grid裡放combobox. 關於這一部份...我想是元件設定的問題...所以也沒code... 麻煩您到下方網址...有圖示與相關code...我看了很久..仍一無所獲 http://www.tmssoftware.com/asg5.htm 勞駕...多謝
gemi0305
版主


發表:81
回覆:564
積分:629
註冊:2003-05-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-07-05 16:27:12 IP:61.220.xxx.xxx 未訂閱
試試看以下範例: 用StringGrid和ComboBox結合,做出的效果。 在Form上隨便放一個StringGrid和一個ComboBox, 再加入以下的code~     
     #include 
#pragma hdrstop    #include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
  StringGrid1->Cells[3][3]="Click me!";      ComboBox1->Visible = false;
  ComboBox1->Style = csOwnerDrawVariable;
  ComboBox1->ItemHeight = StringGrid1->DefaultRowHeight-3;
  ComboBox1->Width = StringGrid1->DefaultColWidth 3;      for(int i = 0; i<=5; i  )
      ComboBox1->Items->Add("Item" IntToStr(i));
}
//---------------------------------------------------------------------------    void __fastcall TForm1::StringGrid1SelectCell(TObject *Sender, int ACol,
      int ARow, bool &CanSelect)
{
  ComboBox1->Visible = false;      //計算ComboBox出現的座標:
  //相對Top   Cell的高(或寬)   格線的寬度
  ComboBox1->Top = StringGrid1->Top  
                   StringGrid1->DefaultRowHeight * ARow  
                   StringGrid1->GridLineWidth * (ARow 1);
  ComboBox1->Left = StringGrid1->Left  
                    StringGrid1->DefaultColWidth * ACol  
                    StringGrid1->GridLineWidth * (ACol 1);      if(ACol == 3 && ARow == 3)
     ComboBox1->Visible = true;
}
//---------------------------------------------------------------------------    void __fastcall TForm1::ComboBox1Change(TObject *Sender)
{
  StringGrid1->Cells[3][3]=ComboBox1->Text;
}    
ComboBox只是個StringGrid輔助的輸入介面, 在其中做個小改變,就可以對動態把每個Cell和ComboBox結合~ 因為我沒有AdvStringGrid這個component,所以無法幫你~ 但這個方法對每種Grid都可行,試試看吧,有問題再和大家討論~ 國泰平安
gilly
一般會員


發表:6
回覆:7
積分:2
註冊:2003-12-29

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-07-06 18:12:55 IP:210.201.xxx.xxx 未訂閱
多謝..
gilly
一般會員


發表:6
回覆:7
積分:2
註冊:2003-12-29

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-07-06 18:13:15 IP:210.201.xxx.xxx 未訂閱
多謝..
FCI
一般會員


發表:5
回覆:11
積分:3
註冊:2005-10-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-10-27 16:14:49 IP:211.75.xxx.xxx 未訂閱
引言: 但這個方法對每種Grid都可行,試試看吧,有問題再和大家討論~ StringGrid1->Cells[3][3]="Click me!";
請問一下,前輩 如何在dbgrid中把這個欄位呼叫出來 我用了許多方式,皆無法做出 < >想了一整天< > **新手上路,煩請多多幫忙**
系統時間:2024-11-24 4:32:06
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!