DBGrid 鼠标右键向下填充 bit字段的修正
编程DBGrid 鼠标右键向下填充时,只有bit字段与通常字段不一样。原因是,bit字段当鼠标点击时,就会出现Boolean反值。
见下图:
鼠标右键点击之前“提成”字段为False,当鼠标右键点击之前“提成”字段为True。因为,鼠标右键时,字段的值又变回True。下身填充,不能成功。
经研究,通过反值填充, 实现向下填充的功能。代码如下:
procedure SetDownTianChongEh(var DBGrid: TDBGridEh);
var S,sCopy:string;iCol,i,k,l:integer;T:Boolean;
beginWith DBGrid.DataSource.DataSet dobeginiCol:=DBGrid.Col-1; // 注意Col 1..N 与 Fields 0..n-1 不一致if DBGrid.DataSource.DataSet.Fields[iCol].DataType=ftboolean thenbeginT:=not DBGrid.DataSource.DataSet.Fields[iCol].AsBoolean; // Not修改 Checked 值Edit;DBGrid.DataSource.DataSet.Fields[iCol].AsBoolean:=T; // 改回值if T then sCopy:='True'else sCopy:='False';endelse beginsCopy:=DBGrid.Columns.Grid.SelectedField.Text;end;if not InputQuery('输入对话框', '请输入向下搷充的步数:', S) then exit;if S='' then exit;if not NumOK(S) thenbeginShowMessage('输入了非法字符,请输入“小写数字”!');exit;end;K:=StrToInt(S);i:=0;Next;While not EOF and (I
上一篇:图论学习(五)