在DBGRID中输入一条纪录是,在车间字段选择一个值,相应的车间小组字段值下拉框中的内容也变(车间和小组字段都在DBGRID录入)
如 选择车间字段的值为 "针车" 则 小组字段 下拉框中内容为 A
B
C
如果 选择车间字段的值为 "整型" 则 小组字段 下拉框内容为 三楼
四楼
如果能够解决这个问题那问题2是
如果在输入一个字段的数量则相应字段的值也能相应变化,如在DBGRID中输入字段
"用库量" 的值则相应的字段 "采购量"(采购量字段的值=需求量字段的值-用库量字段的值)也相应的变(采购量字段不能用计算字段的)
其实两个问题的技术是一样的,高手,帮帮我,分不够,可以再加
如 选择车间字段的值为 "针车" 则 小组字段 下拉框中内容为 A
B
C
如果 选择车间字段的值为 "整型" 则 小组字段 下拉框内容为 三楼
四楼
如果能够解决这个问题那问题2是
如果在输入一个字段的数量则相应字段的值也能相应变化,如在DBGRID中输入字段
"用库量" 的值则相应的字段 "采购量"(采购量字段的值=需求量字段的值-用库量字段的值)也相应的变(采购量字段不能用计算字段的)
其实两个问题的技术是一样的,高手,帮帮我,分不够,可以再加
解决方案 »
- 请问这句怎样转换成DELPHI 低版本能用?
- idpop3 收邮件,为什么附件为0?
- 能否直接用DLL安装键盘钩子?
- 求Tchart 显示柱状图 实例代码?
- 想在MDI窗体程序中实现MSN消息通知提示框,只用AnimateWindow就想实现??做梦~!
- Rave报表中的汉字没有透明化,如何处理?
- 公有变量请各位指教
- 我想用txt文件来记录一些东西,但是又不能让记事本一类的软件打开,怎么做?
- 做过教育VOD的兄弟进来看看!留下你们的联系方式!
- 我写好了应用程序,在打包时想改变图标,请教各位怎样改变?
- Delphi我可以信赖吗?????
- 我通过MODEM连上INTERNET的计算机A,远程控制另一台远程电脑B,B电脑在局域内,它通过一台计算机作网关上
1.
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if gdfocused in state then
begin
if column.FieldName='Year' then
begin
form1.ComboBox1.Left:=rect.Left+form1.DBGrid1.Left;
form1.ComboBox1.Top:=rect.Top+form1.DBGrid1.Top;
form1.ComboBox1.Width:=rect.Right-rect.Left;
form1.ComboBox1.Visible:=true;
end;
end;
if gdfocused in state then
begin
if column.FieldName='Salary' then
begin
form1.ComboBox2.Left:=rect.Left+form1.DBGrid1.Left;
form1.ComboBox2.Top:=rect.Top+form1.DBGrid1.Top;
form1.ComboBox2.Width:=rect.Right-rect.Left;
form1.ComboBox2.Visible:=true;
end;
end;
end;procedure TForm1.ComboBox1Change(Sender: TObject);
begin
if form1.ComboBox1.Text='针车' then
begin
form1.ComboBox2.Items.Clear;
form1.ComboBox2.Items.Add('A');
form1.ComboBox2.Items.Add('B');
form1.ComboBox2.Items.Add('B');
end;
if form1.ComboBox1.Text='整形' then
begin
form1.ComboBox2.Items.Clear;
form1.ComboBox2.Items.Add('三楼');
form1.ComboBox2.Items.Add('四楼');
end;
end;
procedure TForm1.Table1AfterEdit(DataSet: TDataSet);
begin
if DBGrid1.SelectedField.FieldName='Company' AND DBGrid1.SelectedField.AsString='针车' then
begin
DBGrid1.Columns[3].PickList.Clear;
DBGrid1.Columns[3].PickList.Add('A');
DBGrid1.Columns[3].PickList.Add('B');
DBGrid1.Columns[3].PickList.Add('C');
end;
end;
procedure TForm1.DBGrid2ColExit(Sender: TObject);
var
i:integer;
begin
if form1.DBGrid2.SelectedField.FieldName='Kc' then
begin
i:=form1.DBGrid2.SelectedRows.Count;
form1.DBGrid2.DataSource.DataSet.Edit;
form1.DBGrid2.DataSource.DataSet.FieldValues['cg']:=form1.DBGrid2.DataSource.DataSet.FieldValues['xq']-form1.DBGrid2.DataSource.DataSet.FieldValues['kc'];
form1.DBGrid2.DataSource.DataSet.Post;
form1.DBGrid2.DataSource.DataSet.Refresh;
end;
end;
up