一、xgrid 修改保存问题. adostoredproc + cxgrid adostoredproc中使用的是查询,现在只想在CXGRID中修改,但不用保存.想请问是不是有类式的开关? ------解决方案-------------------- ClientDataSet可以实习只修改不提交到数据库,,,直接POST提交到内存, 二、怎么让cxgrid的某列输入只能是数字? 这一列的properties设置为spinedit.
三、cxgrid控制插入重复记录的问题 cxgrid插入值时不允许插入数据库中已经存在记录,请问如何控制本人在其关联的数据集AdoDataSet的BeforPost事件中进行检测,如果有就对显示消息重复, 并进行AdoDataSetName.CancelUpdates,并Abort后面的操作,但会报内存不能读的错误,原因是 cxgrid表的post错误,说什么不能插入一条空记录,晕死,不知道各位是如何控制重复记录的? 因数据库不能更改,只能在外部检测,所以入数时必须检查。 ------解决方案-------------------- 判断一下是否有此记录 if Locate then showmessage('存在') else showmessage('不存在') ------解决方案-------------------- Locate 之前别忘了Bookmark 三、delphi cxgrid 删除 程序运行的时候,按delete键可以吧数据删除,怎么屏蔽?------解决方案-------------------- tableView的properties->OptionsData->Deleting设为False 四、请问cxgrid里一列设置了buttonedit,点击后如何能取得它所属的TcxGridDBTableView 需要用它所属的TcxGridDBTableView的DataController的方法。procedure TForm1.grdtblvGrid1DBTableView1Column1PropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); begin end; ------解决方案-------------------- 看着用下边三个中的一个 View1.DataController.FocusedDataRowIndex; View1.DataController.FocusedRecordIndex; View1.DataController.FocusedRowIndex 五、Delphi二维码实现 在网上Down了一个Delphi二维码的源代码,可以正常生成二维码,但是现在有一个问题急切需要解决1、在Memo中输入分别输入以下文本:第一个带换行 姓名:李洪 电话:13333333333 和 姓名:李洪电话:13333333333 生成的二维码也不相同,但是用手机识别二维码软件Quickmark确照出相同的结果 姓名:李洪电话:13333333333 2、“ACode生成工具”这个软件生成的二维码就可以正常换行。 3、我就想了解输入字符应该怎么样写才能有换行 4、chr(10)+chr(13)我已经试过了,不好使。 ------解决方案-------------------- 姓名:李洪 电话:13333333333 和 姓名:李洪电话:13333333333 生成的二维码也不相同, 不同就是因为多了一个回车换行 回车换行是 #13#10 就是你说的,Chr(10)+Chr(13),但是你的位置没对 不知道你换个位置是否正确了 ------解决方案-------------------- 先自动把回车转为空格 ------解决方案--------------------
chr(10)+chr(13)//这个vb的吧 delphi里是#13就可以了呢 六、xgrid 数据显示格式 大家好! 在cxgrid 中,如何在同一列显示数字和百分号。 请见下图: ![]() 如上图所示。数量栏位可以显示数字及百分号! 谢谢! ------解决方案-------------------- procedure TForm1.cxGrid1DBTableView1Column2GetDisplayText(
------解决方案-------------------- 建议楼主要后台处理更方便。从数据源中生成。 ------解决方案-------------------- 用SQL在后台生成你要的数据,必要时用CAST强制转换即可。
cxgrid的boolean类型的列(复选框形式显示),绑定到数据表的isStop(bit类型)字段,该字段默认值为0, 执行语句
qry1.append; cxgrid增加一行,但是,cxgrid的列的状态为选中状态。 我在qry1.append;语句后增加了一行 qry1.fieldbyname('isstop').asboolean:=false; 但,新增行后,该列默认还是选中状态。 执行qry1.post语句后,该列的复选框还是选中状态,(这时候,查看数据表中新增的数据,发现isStop的值为0,该值为0,复选框应该为未选中状态啊) 只有重新qry1.close;qry1.open; 后,才能显示为未选中状态。 这是什么原因呢?如何解决? ------解决方案-------------------- qry1.requery(); ------解决方案-------------------- 'isstop'你的这个静态字段里面有个DEfaultExpression,这样的属性,你在这里设置其值为FALSE ------解决方案-------------------- qry1.fieldbyname('isstop').DEfaultExpression.Value := false; 记得有VALUE属性吧,上面这句代码你在窗体ONSHOW事件上加上 ------解决方案--------------------
qry1.fieldbyname('isstop').DefaultExpression := QuotedStr('False'); 八、如果表中某字段值为NULL,怎么把其值付值为0 设表A: ID Nanme K101 K102 K103 1 a 12 25 14 2 b 52 null 4 .. .. .. .. .. 假设表中有N条记录,其中有某些条记录是NULL值,我想把为NULL的值,付值为0, 在asp.net(c#)下,把表读到DataSet里怎么处理?请高手指教,谢谢! ------解决方案-------------------- 在select 语句中处理,ORACLE中有一个方法,不清楚SQL有没有,就是如果字段为null(也可以是其他值),则返回一个你指定的值! SQL应该也一样能处理! ------解决方案-------------------- 对DataSet的所有行和列循环查找值为DBNull.Value的行列索引。 找到后对其设置为0 ------解决方案-------------------- select isnull(字段名,0) from 表名; 这个!! ------解决方案-------------------- Select isnull(K102,0) From .... ------解决方案-------------------- 干嘛要读出来数据啊? 直接SQL不就可以了么? update table set column = 0 where column is null ------解决方案-------------------- 还有什么条件都拼到WHERE里面 执行SQL语句用ExcuteNonQuery 具体ADO.NET的语法请自己Google ------解决方案-------------------- if (ds2.Tables[0].Rows[j][i] == null) ---》 if (ds2.Tables[0].Rows[j][i] == DBNull.Value) 或者 if (ds2.Tables[0].Rows[j][i] is DBNull)
|
|