我想在数据库中应用这样一个问题。因为我单位部门未确定,所以部门暂时不一定叫什么名字,所以在程序运行时,输入人员先在combobox中输入新建的部门,等以后在输入与先前输入相同的部门时,下拉条中就已经有了这个部门,如果没有,就新输入一个部门,同样这个新部门在再次输入时同样也在下拉表中找到。输入新的信息的前提是,以前没有输入过,下拉表中没有,只要输入过一次的信息,下拉表中都有相应的信息,而且信息是不重复的,如网络部只能有一个,再输入网络部,combobox中也不会加入这条已经存在的信息。
我用的是table,部门的字段名是post,能否写一些源代码,要是光说几句,小弟功力太浅,可能领悟不了。
求求前辈们多多赐教,我是个刚学DELPHI的菜鸟,希望前辈们多帮忙,小弟感激不尽。
叩首
我用的是table,部门的字段名是post,能否写一些源代码,要是光说几句,小弟功力太浅,可能领悟不了。
求求前辈们多多赐教,我是个刚学DELPHI的菜鸟,希望前辈们多帮忙,小弟感激不尽。
叩首
解决方案 »
- 按钮动态赋值问题
- 请教:TRect 记录类型定义
- 如何从下向上平滑滚动一个文本文件,AAfont自动换行有bug.
- ★★拙作《Delphi精要》及其所属“Borland大系”其他部分书籍已经开始在搜狐连载,有需要可以去看看
- 开贴补1000分,请 ly_liuyang(Liu Yang) 进来接分(5)
- 高分!在线!加密!
- 怎么在fastreport中打印固定行数?不是通过调节band高度来实现...
- TClientDataSet UpdateApply(0) 更新不了?
- 请指教 TO EXCEL 问题
- 怎样让dbcgrids控件背景透明?
- 谁能将我的*.txt恢复?高分奖励!
- 关于怎样画直线的问题(急!!)
因为Combobox是无法查找记录的
我感觉应该使用第三方控件了解决问题
在CloseUP事件中判断如果有的话不能存储,没有则可以保存,然后刷新数据集。重新填写ComboBox中的数据。
Shift: TShiftState);
var
i:integer;
t:string;
begin
if key=13 then
if (combobox1.Text <>'') then
begin
i:=0;
repeat
t:=combobox1.Items.Strings[i];
if combobox1.Text=t then
abort
else
begin
combobox1.Items.Add(combobox1.Text);//把该处后面加上的表tabel进行的操作,就是把数据添加到表中的相应位置上!
combobox1.Text:='';
end;
i:=i+1;
until i= combobox1.Items.Count
end
else
showmessage('This Combox1 is empty!');end;
procedure TForm1.ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var i:integer;
find:boolean;
begin
find:=false;
if key=13 then
begin
for i:=0 to combobox1.Items.Count-1 do
if combobox1.Items[i]=combobox1.Text then find:=true;
if find=false then combobox1.Items.Add(combobox1.Text);
end;end;
再每次 保存之前检查是否有重复数据
procedure TForm2.ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
i:integer;
t:string;
begin
if key=13 then
if (combobox1.Text <>'') then
begin
i:=0;
repeat
t:=combobox1.Items.Strings[i];
if combobox1.Text=t then
abort
else
begin
combobox1.Items.Add(combobox1.Text);//把该处后面加上的表tabel进行的操作,就是把数据添加到表中的相应位置上!
combobox1.Text:='';
end;
i:=i+1;
until i= combobox1.Items.Count
end
else
showmessage('This Combox1 is empty!');end;