請問如何在DBGrid的Cell中編輯memo的內容 |
尚未結案
|
mother9156
一般會員 ![]() ![]() 發表:1 回覆:4 積分:1 註冊:2004-12-03 發送簡訊給我 |
|
kevinguo
初階會員 ![]() ![]() 發表:1 回覆:31 積分:31 註冊:2002-11-20 發送簡訊給我 |
mother9156 你好: 試試以下程式碼
|
mother9156
一般會員 ![]() ![]() 發表:1 回覆:4 積分:1 註冊:2004-12-03 發送簡訊給我 |
kevinguo 您好: 先感謝您的回覆,在下試過您的程式碼,好像還是無法在Grid的Cell中
編輯memo欄位,特貼上我的程式碼,尚請過目,謝謝! unit Unit1; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, ADODB; type TDBGrid = class(DBGrids.TDBGrid)
protected
function CanEditModify: Boolean;
end; type
TForm1 = class(TForm)
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
ADOQuery1class: TStringField;
ADOQuery1id: TStringField;
ADOQuery1DSDesigner17: TMemoField;
procedure ADOQuery1DSDesigner18GetText(Sender: TField;
var Text: String; DisplayText: Boolean);
procedure ADOQuery1DSDesigner18SetText(Sender: TField;
const Text: String);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1; implementation const ftNonTextTypes = [ftBytes, ftVarBytes, ftBlob,ftGraphic,ftParadoxOle,ftDBaseOle, ftTypedBinary, ftCursor, ftADT, ftArray, ftReference, ftDataSet]; function TDBGrid.CanEditModify: Boolean;
begin
inherited CanEditModify;
end; {$R *.dfm} procedure TForm1.ADOQuery1DSDesigner18GetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
Text:=Copy(Sender.Value,1,length(Sender.Value));
end; procedure TForm1.ADOQuery1DSDesigner18SetText(Sender: TField;
const Text: String);
begin
Sender.Value:=Text;
end; end.
|
mother9156
一般會員 ![]() ![]() 發表:1 回覆:4 積分:1 註冊:2004-12-03 發送簡訊給我 |
kevinguo 您好: 先感謝您的回覆,在下試過您的程式碼,好像還是無法在Grid的Cell中
編輯memo欄位,特貼上我的程式碼,尚請過目,謝謝! unit Unit1; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, ADODB; type TDBGrid = class(DBGrids.TDBGrid)
protected
function CanEditModify: Boolean;
end; type
TForm1 = class(TForm)
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
ADOQuery1class: TStringField;
ADOQuery1id: TStringField;
ADOQuery1DSDesigner17: TMemoField;
procedure ADOQuery1DSDesigner18GetText(Sender: TField;
var Text: String; DisplayText: Boolean);
procedure ADOQuery1DSDesigner18SetText(Sender: TField;
const Text: String);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1; implementation const ftNonTextTypes = [ftBytes, ftVarBytes, ftBlob,ftGraphic,ftParadoxOle,ftDBaseOle, ftTypedBinary, ftCursor, ftADT, ftArray, ftReference, ftDataSet]; function TDBGrid.CanEditModify: Boolean;
begin
inherited CanEditModify;
end; {$R *.dfm} procedure TForm1.ADOQuery1DSDesigner18GetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
Text:=Copy(Sender.Value,1,length(Sender.Value));
end; procedure TForm1.ADOQuery1DSDesigner18SetText(Sender: TField;
const Text: String);
begin
Sender.Value:=Text;
end; end.
|
kevinguo
初階會員 ![]() ![]() 發表:1 回覆:31 積分:31 註冊:2002-11-20 發送簡訊給我 |
mother9156:
ADOQuery1DSDesigner17: TMemoField; ^^^^^^^^^^^^^ 這裡的Fieldname是DSDesigner17 procedure ADOQuery1DSDesigner18GetText(Sender: TField; var Text: String; DisplayText: Boolean); procedure ADOQuery1DSDesigner18SetText(Sender: TField; const Text: String); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ GetText和 SetText 卻是 DSDesigner18 |
kevinguo
初階會員 ![]() ![]() 發表:1 回覆:31 積分:31 註冊:2002-11-20 發送簡訊給我 |
|
mother9156
一般會員 ![]() ![]() 發表:1 回覆:4 積分:1 註冊:2004-12-03 發送簡訊給我 |
|
kevinguo
初階會員 ![]() ![]() 發表:1 回覆:31 積分:31 註冊:2002-11-20 發送簡訊給我 |
mother9156您好: 要做到直接在TDBGrid裡編輯有換行功能,我功力不夠,看有沒有其他先進可以指導一下
|
mother9156
一般會員 ![]() ![]() 發表:1 回覆:4 積分:1 註冊:2004-12-03 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |