在DBGRID中输入一条纪录是,在车间字段选择一个值,相应的车间小组字段值下拉框中的内容也变(车间和小组字段都在DBGRID录入)
如 选择车间字段的值为 "针车" 则 小组字段 下拉框中内容为 A
B
C
如果 选择车间字段的值为 "整型" 则 小组字段 下拉框内容为 三楼
四楼
如果能够解决这个问题那问题2是
如果在输入一个字段的数量则相应字段的值也能相应变化,如在DBGRID中输入字段
"用库量" 的值则相应的字段 "采购量"(采购量字段的值=需求量字段的值-用库量字段的值)也相应的变(采购量字段不能用计算字段的)
其实两个问题的技术是一样的,高手,帮帮我,分不够,可以再加
如 选择车间字段的值为 "针车" 则 小组字段 下拉框中内容为 A
B
C
如果 选择车间字段的值为 "整型" 则 小组字段 下拉框内容为 三楼
四楼
如果能够解决这个问题那问题2是
如果在输入一个字段的数量则相应字段的值也能相应变化,如在DBGRID中输入字段
"用库量" 的值则相应的字段 "采购量"(采购量字段的值=需求量字段的值-用库量字段的值)也相应的变(采购量字段不能用计算字段的)
其实两个问题的技术是一样的,高手,帮帮我,分不够,可以再加
解决方案 »
- Delphi修改了哪些系统参数
- 分享:DELPHI实现远程屏幕抓取
- 关于ADOQUERY的一个有趣的问题!(很难)
- 请问怎么保存事件中的参数Sender对象?
- 如何用类的继承来实现这个输入检测
- 是否在服务端中只使用一个datasetprovider控件,在客户端中使用一个clientdataset控件。
- 一段excel表导入到数据库的代码。
- 100分提问:怎么样在RICHEDIT中插入表格
- 关于c/s的问题。
- 简单问题:如何移动到ClientDataSet的首,末条记录?在线等待。。。。
- 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