Icon View Thread

The following is the text of the current message along with any replies.
Messages 41 to 50 of 53 total
Thread How To Perform A Multi-Field Dataset Search?
Wed, Oct 7 2015 10:33 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Frederick,

<< You did ask me for an example for the manual and I gave you one, in the hope you could add more. I don't believe I stated anywhere in my previous forum message that I don't like or don't want to use EWB. No software tool is perfect and I don't expect EWB to be but I expect that you would be interested in improving EWB based on feedback.

P.S.   I will continue to use EWB because it is currently the only tool that will access DBISAM tables natively and also to irritate the heck out of you. Smile>>

Smile

My apologies for the reply, which came out harsher than it should have been.

My point was simply this: if you don't like EWB and it's causing you grief, then usually the best thing to do is to step away for a while.  I'd rather you have an intensely bad, but short, experience with EWB, only to come back when you have more time to spend on learning it and find out that you like it, than to slog along for days/weeks, cursing its name the entire time.....

Tim Young
Elevate Software
www.elevatesoft.com
Wed, Oct 7 2015 11:11 AMPermanent Link

Frederick Chin

Walter,

/*
<Scratching Head> Why in the world would you want 100,000 records download into a browser!!    Do the heavy lifting on the server.  Look at the browser as the UI, low overhead display of data and collection of data with validation.  </Scratching Head>
*/

I won't be pulling all 100,000 records at once. That would be suicidal! There will be a dataset query that must be able to handle a wildcard data extraction similar to DBISAM's "LIKE" option. If the user enters "S", any code that begins with "S" must be extracted.

/*
If you have a long list, send a 100 at a time to the browser and manage that.  Look at existing web sites like stores - if you search for something they may give you 10 or 20 at a time, and you click "more" or "page 2" or something to get the next page.  No one downloads all the data all at once into the browser.
*/

I haven't use the latest version of EWB's grid but I am hoping that it will handle the paging of records for me. So, if I set a record count of 20 per page and there are 120 records extracted, I should have 6 pages which the user can click buttons to cycle through.

/*
These records better by 1 byte in length!!
*/

I wish. Smile

Frederick
Wed, Oct 7 2015 11:13 AMPermanent Link

Walter Matte

Tactical Business Corporation


OK - I get it.

I do this all the time.  I only return what I need.

Also Gird - paging - is not automatic.  You need to manage.

Walter
Wed, Oct 7 2015 11:17 AMPermanent Link

Frederick Chin

Tim,

/*
The only purpose of sorting is sorting, find optimization, and nearest-match finds.  IOW, a Find will *still* return the correct result, it will just do so a bit slower if you don't have a matching sort.

Find works like a combination of filtering, Locate, and FindKey, all rolled into one.
*/

Thanks. I understand it better now.

Frederick
Wed, Oct 7 2015 11:18 AMPermanent Link

Frederick Chin

Walter,

/*
Also Gird - paging - is not automatic.  You need to manage.
*/

Bummer. I'll have to figure how to do it then.

Fredeick
Wed, Oct 7 2015 11:23 AMPermanent Link

Frederick Chin

Tim,

/*
Yes, that will work, but you will *still* need to provide some form of authentication, either in the form of using the DBISAM Database Server and making *it* perform the authentication:

EWB Client -> EWB Web Server -> DataSet Definition with Authentication Info -> Connects to DBISAM Database Server

Or you can use an EWB Web Server module along with TEWBDatabaseAdapter/TEWBDataSetAdapter components to surface your various tables/queries.  The web server modules and adapters allow you to intercept authentication requests from EWB client applications and perform your own authentication.  See the datasetmodule example project included with EWB and the EWB Web Server Modules installations for information on how to do this:

http://www.elevatesoft.com/download?action=info&category=ewb&type=ewbmodule&majorversion=2&version=2.01

This is information on how you get started with web server modules after installing:

http://www.elevatesoft.com/manual?action=topics&id=ewb2mod&product=rsdelphi&version=XE§ion=getting_started

Essentially, web server modules allow you to set up an API for your application.  They are essentially the middleware that allow you to move your native Delphi code on to the server-side for doing all of the heavy lifting like authentication, report generation, etc.
*/

Thanks for all the references. Looks like I will have to roll up my sleeves.

Do I need to use Rad Studio for the server stuff?

Frederick
Wed, Oct 7 2015 11:41 AMPermanent Link

Frederick Chin

Tim,

/*
My apologies for the reply, which came out harsher than it should have been.
*/

No problems.

/*
My point was simply this: if you don't like EWB and it's causing you grief, then usually the best thing to do is to step away for a while.  I'd rather you have an intensely bad, but short, experience with EWB, only to come back when you have more time to spend on learning it and find out that you like it, than to slog along for days/weeks, cursing its name the entire time.....
*/

I guess I am cranky because of the new web terminology. With a desktop Windows application, you didn't have to worry about the Internet, SSL, web servers, web hosts, IP addresses and other stuff.

EWB, your presence and my peers in these forums make the learning process that much easier!

Thanks.

Frederick
Wed, Oct 7 2015 2:44 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Frederick,

<< I haven't use the latest version of EWB's grid but I am hoping that it will handle the paging of records for me. So, if I set a record count of 20 per page and there are 120 records extracted, I should have 6 pages which the user can click buttons to cycle through. >>

You don't need to paginate a dataset with hundreds of rows in it.   The TGrid control is virtual, meaning that it can handle thousands of rows without any additional slowdown past the visible row count.  As long as you perform some form of filtering on the query that is generating the dataset, you should be okay.  Something like a TOP or RANGE on the query would be able to ensure that you don't return more rows than you want to.

For example, the test dataset that we use for the transactions example has a couple of hundred rows in it:

http://www.elevatesoft.com:8081/transactions/transactions.html

And you can literally load 100,000 items into a TListBox in a few hundred msecs, because it is also virtual.  The key here is *should* vs. *could*. Smile

Tim Young
Elevate Software
www.elevatesoft.com
Wed, Oct 7 2015 2:49 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Frederick,

<< I guess I am cranky because of the new web terminology. With a desktop Windows application, you didn't have to worry about the Internet, SSL, web servers, web hosts, IP addresses and other stuff. >>

Yeah, but it's really a lot easier than it first seems, so give it some time.  When you're done, you'll have a very durable client application and a well-designed back-end service that can be accessed from anywhere by anyone, and rolling out a new version of your application will be dead simple.

Tim Young
Elevate Software
www.elevatesoft.com
Wed, Oct 7 2015 10:24 PMPermanent Link

Frederick Chin

Tim,

/*
You don't need to paginate a dataset with hundreds of rows in it.   The TGrid control is virtual, meaning that it can handle thousands of rows without any additional slowdown past the visible row count.  As long as you perform some form of filtering on the query that is generating the dataset, you should be okay.  Something like a TOP or RANGE on the query would be able to ensure that you don't return more rows than you want to.

For example, the test dataset that we use for the transactions example has a couple of hundred rows in it:

http://www.elevatesoft.com:8081/transactions/transactions.html

And you can literally load 100,000 items into a TListBox in a few hundred msecs, because it is also virtual.  The key here is *should* vs. *could*. Smile
*/

This is great! I'll run through it and see if I can't get a nice search and browse experience for the user.

P.S.   Just for giggles, I'm going to pull the entire table into the grid and see how EWB performs! Smile

Frederick
« Previous PagePage 5 of 6Next Page »
Jump to Page:  1 2 3 4 5 6
Image