Lazarus的DBGrid中回车键的处理】的更多相关文章

Lazarus的DBGrid中回车键默认行为是向下移动一个记录,如果想对这一事件做处理,请不要在onkeypress里处理,而在onkeydown事件里处理.…
如何获取DBGrid 中当前单元格输入的内容? 还没输入完成,我想实时获取 Cell中的内容,以便作其他处理,用什么事件呢? 所以Field的Onchange事件是没用的. DBGrid1.SelectedField.AsStringDBGrid1.SelectedField.Text看你需要选择 这个问题简单啊,每输入1个数据的后就提交(并不是提交到数据库,还是在编辑状态),那么用DataSet就可以取值了用DBGrid的KeyUp事件: procedure TForm1.DBGrid1Key…
在dbgrid中如何多行选中记录(ctl与shift均可用),设置dbgrid的dgmultiselect为true,只有ctl好用而shift不好用,如何使shift也好用 Dbgrid源代码:procedure TCustomDBGrid.KeyDown(var Key: Word; Shift: TShiftState); var   KeyDownEvent: TKeyEvent; procedure ClearSelection;   begin     if (dgMultiSele…
如何获取DBGrid 中当前单元格输入的内容? 还没输入完成,我想实时获取 Cell中的内容,以便作其他处理, 用什么事件呢? 所以Field的Onchange事件是没用的. 这个问题简单啊,每输入1个数据的后就提交(并不是提交到数据库,还是在编辑状态),那么用DataSet就可以取值了 用DBGrid的KeyUp事件: procedure TForm1.DBGrid1KeyUp(Sender: TObject; var Key: Word;   Shift: TShiftState); beg…
如何在DBGrid中选中行,而又让它可以进入编辑状态? 也许你会问我这有什么用?呵呵,做数据库应用的兄弟们会深有感触,当用DBGrid显示的字段过多时,用户不得不拉动最下面的滚动条,去看最右边的东西,如果没有设置DBGrid->Options[dgRowSelect],那么,拉到最右边之后,很有可能看串行的:如果设置了DBGrid->Options[dgRowSelect],则在拉到最右边之后,不会看串行,但是鼠标点击其它行(不是当前选中行)时,DBGrid的视图一下子就会回到显示最左边的那一…
在设计过程中,有时候数据较大量,field 较多的时候,只是点击单元格可能会对某个field的数据误操作(如数据错行),为此才会想到这个问题,解决办法如下:点击单元格就改当前行颜色. 首先DBGRID的属性做好下设置(其实也是DBGRID默认的属性) DBGrid1->Options->dgEditing=TrueDBGrid1->Options->dgRowSelect=False 一.先在implementation前做如下定义type  TMyDBGrid=class(TDB…
若DBGrid.DataSource.DateSet为ADOQuery1,这样试一下:if ADOQuery1.Modified then ... procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);begin  if ADODataSet1.Modified then    begin    Messagedlg('对不起,你还没有保存数据?',mtInformation,[mbOK],0);    C…
比如说处在编辑状态时,想取得当前记录值 Dataset.fields[0].Value 就是当前值:Dataset.fields[0].OldValue 就是原始值. 呵呵,我指得是在编辑时,就是按键时,keypress或keyup或keydown时 如果希望得到的是格子中显示的内容(可能和数据库的不同,如:做了格式处理):DBGrid1.Fields[0].DisplayText;DBGrid1.Fields[1].DisplayText;…… 在CELLCLICK中设置一个开关.然后纪录KE…
dbgrid是从TCustomGrid继承下来的,它有col与row属性,只不过是protected的,不能直接访问,要处理一下,可以这样: TDrawGrid(dbgrid1).row:=row;    TDrawGrid(dbgrid1).col:=col;    dbgrid1.setfocus;就可以看到效果了. 1 这个方法是绝对有问题的,它会引起DBGrid内部的混乱,因为DBGrid无法定位当前纪录,如果DBGrid只读也就罢了(只读还是会出向一些问题,比如原本只能单选的纪录现在可…
dbgrid是从TCustomGrid继承下来的,它有col与row属性,只不过是protected的,不能直接访问,要处理一下,可以这样:TDrawGrid(dbgrid1).row:=row;TDrawGrid(dbgrid1).col:=col;dbgrid1.setfocus;就可以看到效果了.1 这个方法是绝对有问题的,它会引起DBGrid内部的混乱,因为DBGrid无法定位当前纪录,如果DBGrid只读也就罢了(只读还是会出向一些问题,比如原本只能单选的纪录现在可以出现多选等等,你可…
DBGrid的Options中的dgConfirmDelete改为:False;在DBGrid所连接的DataSet的BeforeDelete事件中写:Abort; ^_^…
//点击回车键 //王东升/2015/3/11 document.onkeydown = function (event) { var e = event ? event : (window.event ? window.event : null); ) { // enter 键 //登录 wds_logintongji();登陆方法 } };…
DBGrid1->Options里有个dgMultiSelect,把它设为true就能多选了 先设置DBGrid1->options中dgRowSelect = true, dgMultiSelect = true.接着写按下面的写.void __fastcall TForm1::DBGrid1DblClick(TObject *Sender){  keybd_event(VK_CONTROL,0,0,0);   //模拟按下CTRL键}//--------------------------…
When you add [dgMultiSelect] to the Options property of a DBGrid, you give yourself the ability to select multiple records within the grid.    The records you select are represented as bookmarks and are stored in the SelectedRows property.    The Sel…
1.首先把DBGrid->options-dgMulitSelect设为True.  dgRowSelect也设为True,此属性设为true后,DBGrid将不能编辑,如何实现能否编辑代码如下 要先引用 uses DBGrids单元 procedure TfrmXJCGHD.CheckBox1Click(Sender: TObject);begin  inherited;  if checkBox1.Checked then  begin    DBGridEh.Options := DBGr…
created() { let that = this; document.onkeypress = function(e) { var keycode = document.all ? event.keyCode : e.which; ) { that.login();// 登录方法名 return false; } }; } 以上的代码,在这几天测试发现有一个问题,在登录进系统之后,从首页切换到其他界面,点击回车,会导致界面调整到首页! 要实现:只在Login界面点击回车才执行onkeypr…
DateTimePicker inside a DBGrid Here's how to place a TDateTimePicker into a DBGrid. Create visually more attractive user interfaces for editing date/time fields inside a DBGrid - place a drop down calendar into a cell of a DBGrid. procedure TForm1.DB…
利用窗体的KeyPreView .设置KeyPreView = true 设置窗体的KeyPreView 属性为True后,那么窗体内的子控件响应KeyPress事件(或其他事件)之前,会先响应窗体的KeyPress事件.如下图,如果按下了Enter键, 则会先执行Form4_KeyPress,然后再执行textBox1_KeyPress. this.SelectNextControl(this.ActiveControl, true, true, false, false)意思是激活下一个控件…
可参考下面的例子:   数据自动计算的实现:“金额”是由“单价”和“工程量”相乘直接得来的,勿需人工输入. 这可在“数据源构件”的onupdatedata例程添加如下代码实现: procedure TForm1.DataSource1UpdateData(Sender: TObject); begin      table1.fieldbyname('金额').asfloat:=table1.fieldbyname('单价').asfloat      *table1.fieldbyname('…
OptionsBehavior.GoToNextCellOnEnter:=True; 更完善的回车 可以在焦点到了最后一列再回车时有下一行则移到下一行的第一列,没有下一行则新增记录并移到第一列 procedure TK_XSD_Form.cxGrid1DBTableView1EditKeyDown( Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem; AEdit: TcxCustomEdit; var Key: Word;…
解决方案 »   有了dbgrid1.options.dgmultiselect:=true;必须按下Ctrl键,才能实现多选, 修改源代码,把以下内容if Select and (ssShift in Shift) then改为if Select then 记住是在DBGRIDS单元里:    if ssCtrl in Shift then //这句改为if true then还有把以下这段去掉:        if ssCtrl in Shift then              Curr…
vue的功能非常强大,但是我们作为一个后端开发人员,前端的东西不一定都弄的很明白,今天就给大家介绍一个回车提交表单的真实案例,达到回车登录的效果! @ keyup.enter 实现的效果 <input v-model = "password" type="password" name="" class="pwd" placeholder="密码" @keyup.enter="handello…
procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);begin  if (ssctrl in shift) and (key=vk_delete) then key:=0;end;---------------------…
1]连接好数据库,并显示: 2]增加所有字段: 3]添加事件: //    FDQuery1UserName: TWideMemoField; procedure TForm1.FDQuery1UserNameGetText(Sender: TField; var Text: string; DisplayText: Boolean); begin Text := Copy(FDQuery1UserName.AsString, , ); end; 4]效果:…
在Delphi中,DBGrid控件是一个开发数据库软件不能不使用的控件,其功能非常强大,可以配合SQL语句实现几乎所有数据报表的显示,操作也非常简单,属性.过程.事件等都非常直观,但是使用中,有时侯还是需要一些其他功能,例如打印.斑马纹显示.将DBGrid中的数据转存到Excel97中等等.这就需要我们定制DBGrid,以更好的适应我们的实际需要.本人根据使用Delphi的体会,定制了DBGrid,实现了以上列举的功能,对于打印功能则是在DBGrid的基础上联合QuickReport的功能,直接…
在 Delphi 语言的数据库编程中,DBGrid 是显示数据的主要手段之一.但是 DBGrid 缺省的外观未免显得单调和缺乏创意.其实,我们完全可以在我们的程序中通过编程来达到美化DBGrid 外观的目的.通过编程,我们可以改变 DBGrid 的表头.网格.网格线的前景色和背景色,以及相关的字体的大小和风格.    以下的示例程序演示了对 DBGrid 各属性的设置,使 Delphi 显示的表格就像网页中的表格一样漂亮美观.    示例程序的运行:    在 Form1 上放置 DBGrid1…
二.应用实例 Enlib3.0组件包安装成功后 A.定制标题行 1.制作复杂标题行 标题行可设为2行以上高度,并可以为多列创建一个共同的父标题行.为实现这个效果,需在各个列标题属性中以“|”分隔父标题和子标题,如办公用品包括代码和名称两部分,具体属性设置如下: usemultititile=true; titlelines=2 DBGridEh.Columns[0].Title.Caption := '办公用品|代码'; DBGridEh.Columns[1].Title.Caption :=…
在一个Dbgrid中显示多数据库    在数据库编程中,不必要也不可能将应用程序操作的所有数据库字段放入一个数据库文件中.正确的数据库结构应是:将数据库字段放入多个数据库文件,相关的数据库都包含一个唯一的关键字段,在多数据库结构里可以建立联系.     例如:要编制一个人事管理程序,为简化演示程序,只建立两个数据库,每个数据库都只建立两个字段.     个人简介 jianjie.dbf,由人事处维护:工资情况 gongzi.dbf,由财务处维护.     1.数据库的建立     进入DataB…
Fastreport使用经验(转) 在Delphi程序中访问报表对象 最基本的方法就是frxReport1.FindObject. 然后把返回的对象强制转换成它的类型,当然,在报表中必须真的有这么个东东.如改变一个 Tfrxmemoview的内容,可以这样写TfrxMemoView(frxReport1.FindObject('memo1')).Text:='jade'; 还可以用TfrxReportPage的FindBand方法,这个方法的参数是Band类,如报表抬头就可以直接使用这个方法,因…
实现android按下回车键便隐藏输入键盘,有两种方法: 1.)如果布局是多个EditText,为每个EditText控件设置android:singleLine=”true”,弹出的软盘输入法中回车键为next,直到最后一个获取焦点后显示为Done,点击Done后,软盘输入键盘便隐藏.或者将EditText的imeOptions属性设置android:imeOptions=”actionDone”,则不管是不是最后一个EditText,点击回车键即隐藏输入法. 2.)监听Enter的事件,编写…