急症:请高手指点。(300分)

  • 主题发起人 主题发起人 gcys
  • 开始时间 开始时间
G

gcys

Unregistered / Unconfirmed
GUEST, unregistred user!
有一DBcombobox,items为供货商编号+供货商名称。Items中增加了New,Seek两项。
如:new
seek
001 联想公司
002 方正公司
...
选择New选项,弹出新建窗口,增加一个供货商;
选择Seek,则弹出查询窗口,选择供货商。
但我想选择供货商后只显示编号。也就是只想将编号写入数据库。
请问如何实现?请给出source code;
另:在MDI主窗口中,如何加入背景?
 
在MDI主窗口中,如何加入背景?(感谢:menxin、yuhung、Crab)
http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=369296
//--------------
DBComboBox1.Text 这用这个属性叫行了
 
>>选择供货商后只显示编号。也就是只想将编号写入数据库。
这没什么难的吧,你的编号位数如是固定的,你只要:
Copy(DBComboBox1.Text,1,3)就可,
如不固定,也保,只读到第一个空格就行:
s:=DBComboBox1.Text;
n:=1;
whlie 条件 do
begin
if s[n-1]=' ' then 返回:=Copy(DBComboBox1.Text,1,n)
end;

大体就这么作了。


>>在MDI主窗口中,如何加入背景?

procedure TMainFrm.FormActivate(Sender: TObject);
begin
Self.brush.bitmap:=ImgMain.picture.bitmap;
end;

ImgMain里读入的就是要帖在MDI主窗口上,并要平铺的图像。
 
在DBComboBox的OnChange事件下加如下代码:
procedure TForm1.DBComboBox1Change(Sender: TObject);
var
s, s1: String;
begin
s := DBComboBox1.Text;
if s = 'new' then
弹出新建窗口
else if s = 'seek' then
弹出查询窗口
else
s1 := Copy(s,1,3); //取出代号
存入数据库;
end;
 
干吗非要在选择供货商后只显示编号
新建一个lookup字段,显示供货商名称,然后在数据集的beforepost事件中
为供货商编号赋相应的值。
 
用Copy(DBComboBox1.Text,1,3)。
 
固定编号则直接去。
如不是则取第一个空格前的字符。
 
在DBComboBox的OnChange事件下加如下代码:
procedure TForm1.DBComboBox1Change(Sender: TObject);
var
s, s1: String;
begin
s := DBComboBox1.Text;
if s = 'new' then
弹出新建窗口
else if s = 'seek' then
弹出查询窗口
// 关闭查询窗口,将查询的编号存入Table,发现DBCombobox的Text值为"Seek",
// 在DBGRID中当前供货商编号为查询所得编号,将鼠标移开DBcombobox,dbgrid中
// 的供货商编号也变为"Seek".
end;

通过以上操作,发现DBCombobox.text属性赋值无效。
 
接受答案了。
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部