发布最新版本的EXDBGrid,显示序号,排序,拼音五笔检索下拉框,数值计算器,超级好的过滤系统,合计功能,嵌入控件等等(200分)

谢谢你了!!
 
to suiyuan
谢谢!表达式窗体的问题,已经改正,下一次的版本会加强表达式纠错能力,现在正想方设法扩展编辑框的绘制程序,让错误的地方显示高亮背景,没有技术问题,我已经是熟手男工了,时间问题,过几天再上传。
to teams
大量使用请免,支持个人使用,请充分试验,没问题再用,我自己也没有正式使用它,现在还在用DBGrid
to 水影8888
等完全搞掂,有时间的话,就会这么做,不过通常有时间都在打机。
to 硕鼠
如果不用盗版的话,老实说DBGrideh也没提供源码,关键是要充分测试,我
保证不加密,不限制就是了。
 
写个控件太辛苦,但赚中国程序员的MONEY太难,这些家伙要么自己搞要么用盗版,可气的是还要需要有源代码的采用,大家不要砸我啊?[8D][8D]
兄弟,给你个建议,如果你想赚钱还是写英文版的吧!赚老外的MONEY,他们愿意掏钱,否则你这么好的东东就可能浪费了。
 
呵呵,我不是程序员,而且我用正版软件!你说好,说得对,给你加高分,你上面说的,就是我要说的,有人砸你,我来挡,冲我来。我的控件早被人订了,收钱不是问题,网上的人用不用,怎么才愿意用,我没兴趣知道,只要不是拿来做商业开发就行了,个人接一单半单玩玩时用是可以的,模仿抄袭也不理会,我的表格零号卖点就是显示序号,与数据集无关、不用计算字段和不下载全部数据到缓冲,用极少的资源来获得序号,效果接近完美,在网上世界上还没有第二个,难度超高。模仿抄袭需要深湛的功底、无边的创意和大量的投入。
 
老大,也不做个exe demo?
为了系统稳定,我可不喜欢加载用不到的控件
 
就贴上一个demo.exe给研究,大部分功能都演示了,但嵌入控件,背景图,图片字段等未演示
 
你用了绝对路径吧。系统找不到数据!
 
先demo.exe
 
--获得序号用到资源?
我获得序号怎么那么简单?我获得的是客户端得到数据的序号,你得到的是什么序号?
 
哦,用了绝对路径,下次再改上来。或者自建一些列文件夹
获得序号没有用资源,我的是与数据库无关的表格当前的行号。
 
打开demo的project1.exe有问题:
---------------------------
Project1
---------------------------
磁盘或网络错误。.
---------------------------
确定
---------------------------
 
用了绝对路径,明天就上传新的,提供仿制参考。
 
俺也看看
 
哦,你自己做,累死了。
这种控件,只有开放源代码才有生命力,但是不妨碍你赚钱。
最好是做英文版,卖给老外才能赚钱。
你的控件用的越多,你越有钱赚。
 
我的表格零号卖点就是显示序号,与数据集无关、不用计算字段和不下载全部数据到缓冲,用极少的资源来获得序号,效果接近完美,在网上世界上还没有第二个,难度超高。
---太绝对了吧,DevExpress的Cxgrid好像早就实现了和数据无关的行号了吧。
 
to zyt_1978
是,我自己做,很累,但未死。开放源代码没有生命力的,比如linux,乱七八糟出一大堆,都说自己是最好的,而且铁定会妨碍我赚钱的,你说现实这样不是吗,控件本身就支持英文的,如果纯支持英文,还可以删掉很多代码,控件我自用为主,其他人用也没关系。

to jennykiller
你说的确切吗?Cxgrid很不错,但我用过一些版本,没有找到行号显示这功能,最新的几个版本就不清楚了,如果有的话,论坛那些研究这功能人,都去抄一抄,其实开发目标不同,我这是DBGrid扩展版,有些人用StringGrid来显示行号,这就无法比较。
 
新的演示已经上传,给研究一下吧,序号不是那么好弄的,主要是在编辑状态下出问题,
因为数据库本来就没有序号这种概念,但存放顺序确实物理存在,进入编辑状态下,数据
没有入库,所以无法给出序号,多数设为 -1,delphi里面 -1 很多情况下表示这是空号。
 
--因为数据库本来就没有序号这种概念
数据库确实没有序号这个概念,但是TDataSource的TDataLink却有序号这个概念,否则那么多数据,他怎么往Grid那个控件里画(任何状态都能很好的显示)
如果想要序号的话,从TDataLink那里找吧,感觉很简单,但是需要修改相关的控件。或者inherited TDataLink自己写个。我就是那么做的。感觉取序号很easy,不过我还没有经过过多的测试,
 
获得序号的代码:
procedure TEmpListForm.DBGridEh1DrawColumnCell(Sender: TObject;
const Rect: TRect;
DataCol: Integer;
Column: TColumnEh;
State: TGridDrawState);
function GetRowIndex: Integer;
//获取正在画的是第几行
var
J : Integer;
begin
Result := 1;
with TStringGrid(Sender)do
begin
for J := 1 to VisibleRowCountdo
begin
if CellRect(0, J).Top = Rect.Top then
begin
Result := J;
Break;
end;
end;
end;
end;
var
Id : Integer;
begin
if TDBGridEh(Sender).DataSource.DataSet.IsEmpty then
exit;
with TDBGridEh(Sender)do
begin
if DataCol = 0 then
begin
if DataSource.DataSet.State = DsInsert then
begin
if DataSource.DataSet.Eof then

Id:=DataSource.DataSet.RecordCount-TStringGrid(Sender).Row+GetRowIndex+1 //append 状态
else
Id := FirstRecNo+GetRowIndex;
//insert 状态
end
else
Id := DataSource.DataSet.RecNo;
//浏览或编辑状态
Canvas.TextRect(Rect,
Rect.Left+(Rect.Right-Rect.Left-Canvas.TextWidth(IntToStr(Id))) div 2,
Rect.Top+(Rect.Bottom-Rect.Top-Canvas.TextHeight(IntToStr(Id))) div 2,
IntToSTr(Id));
end;
end;

end;
 

Similar threads

D
回复
0
查看
740
DelphiTeacher的专栏
D
D
回复
0
查看
742
DelphiTeacher的专栏
D
D
回复
0
查看
591
DelphiTeacher的专栏
D
D
回复
0
查看
739
DelphiTeacher的专栏
D
D
回复
0
查看
682
DelphiTeacher的专栏
D
顶部