你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 跟高手学编程
数据输入界面设计(七)
 

// 树型结构节点关键字数组

  SetLength( Fields, 5 );

  Fields[0][1] := 'DepartmentID';    // 第一关键字字段

  Fields[0][2] := 'DepartmentName';  // 第一关键字值字段

  Fields[1][1] := 'SpecialityID';    // 第二关键字字段

  Fields[1][2] := 'SpecialityName';  // 第二关键字值字段

  Fields[2][1] := 'Jies';            // 第三关键字字段

  Fields[2][2] := 'Jies';            // 第三关键字值字段

  Fields[3][1] := 'ClassID';         // 第四关键字字段

  Fields[3][2] := 'ClassName';       // 第四关键字值字段

  Fields[4][1] := 'PlanCourseOrder'; // 第五关键字字段

  Fields[4][2] := 'CourseName';      // 第五关键字值字段

  // 调用创建目录树的通用快速算法

  CreateTreeFast(ADODataSetTree, Fields, TreeView);

  ADODataSetCourseTeacher.Open;

  ADODataSetTeacher.Open;

  // 动态设置任课教师对象的属性

  with DBLookupComboBoxCourseTeacher do begin

   DataSource:=DataSourceCourseTeacher;

   DataField:='TeacherID';

   ListSource:=DataSourceTeacher;

   KeyField:='TeacherID';

   ListField:='TeacherName';

  end;

  PnlCourseTeacher.Enabled := False;

  PnlCmd.Enabled := False;

 end;

end;

编写TreeViewOnChange事件,在左边选择好任课班级和课程后,再选择安排该课程的任课教师,相关代码如下:

procedure TFormCourseTeacher.TreeViewChange(Sender: TObject; Node: TTreeNode);

begin

 PnlCourseTeacher.Enabled := False;

 PnlCmd.Enabled := False;

 StatusBar1.SimpleText:='请展开树,选择课程';

 if Node.Level<4 then Exit;

 StatusBar1.SimpleText:='请选择:'+Node.Text+'课程的任课教师';

 SelectNode := Node;  // 保存当前选中的节点

 with DMServerDB do begin

  LabelClassID.Caption := Node.Parent.Text;

  ADODataSetCourseTeacher.Filter:='ClassID='''+TreeList[Node.Parent.AbsoluteIndex]

            +''' and PlanCourseOrder='+TreeList[Node.AbsoluteIndex];

  ADODataSetCourseTeacher.First;

 end;

 PnlCourseTeacher.Enabled := True;

 PnlCmd.Enabled := True;

end;

编写“保存”按钮的OnClick事件,将选中的任课教师存入任课教师表中,相关代码如下:

procedure TFormCourseTeacher.SBtnSaveClick(Sender: TObject);

begin

 with DMServerDB.ADODataSetCourseTeacher do begin

  Edit; // 进入编辑状态

  FieldValues['ClassID'] := TreeList[SelectNode.Parent.AbsoluteIndex];

  FieldByName('PlanCourseOrder').AsInteger

        :=StrToInt(TreeList[SelectNode.AbsoluteIndex]);

  Post; // 存盘

 end;

end;

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089