PDA

View Full Version : سوال: نوشتن کوئری در یکی از فیلدهای gridControl



امیر مهرشاد
پنج شنبه 07 آذر 1392, 17:06 عصر
دوستان سلام وقتی یک gridControl از محصولات DEVEXPRESS به برنامه اضافه میکنید بعد با یک دیتا ست اونو پر میکنید میتونید با متد زیر تمام اطلاعات ریخته شده در گریدتون رو به چاپ یا پیش نمایش چاپ ببرید و فیلتر هایی رو هم روی اون انجام بدید



gridControl .showprintperview();


حالا سوالم اینه که چطور میشه مقادیر یک فیلد از این گرید رو جمع زد و حاصل رو در انتهای گرید اضافه کرد ؟

اینو ببینید متوجه خواهید شد:

113310


با این گرید مثل یک گرید اصلی VS نمیشه رفتار کرد

امیر مهرشاد
پنج شنبه 07 آذر 1392, 18:44 عصر
هیچ کس نمیتونه راهنمایی کنه ؟ !!:کف:

benyaminrahimi
دوشنبه 02 دی 1392, 20:23 عصر
گرید دات نت توی تالار دلفی؟ خود کامپوننت پراپرتی summary داره کجای چیز به این سادگی گیر کردی؟

من یه پروسیجر برای فارسی کردن استایل فوتر و ساماری نوشتم برات میذارم
http://segalpardaz.ir/wp-content/uploads/dev3.jpg



procedure tpatern.cxset(table: TcxGridTableView);
var
i: Integer;

var
count, sum, min, max, avg: string;

begin

count := ' count ';
sum := ' sum ';
min := ' min ';
max := ' max ';
avg := ' avg ';

if StrToBool(patern.regread('software', 'rtl_reading')) then
begin
count := ' تعداد ';
sum := ' جمع ';
min := ' کمترين ';
max := ' بيشترين ';
avg := ' ميانگين ';
end;

for i := 0 to table.ColumnCount - 1 do
begin
if table.Columns[I].Visible then
begin
if table.Columns[i].Summary.FooterKind = skCount then
table.Columns[i].Summary.FooterFormat := count +
table.Columns[i].Caption + ' 0 ';

if table.Columns[i].Summary.FooterKind = skSum then
table.Columns[i].Summary.FooterFormat := sum +
table.Columns[i].Caption
+ ' 0, ';

if table.Columns[i].Summary.FooterKind = skMin then
table.Columns[i].Summary.FooterFormat := min +
table.Columns[i].Caption + ' 0 ';

if table.Columns[i].Summary.FooterKind = skMax then
table.Columns[i].Summary.FooterFormat := max +
table.Columns[i].Caption
+ ' 0, ';

if table.Columns[i].Summary.FooterKind = skAverage then
table.Columns[i].Summary.FooterFormat := avg +
table.Columns[i].Caption
+ ' 0, ';

/////////////////////

if table.Columns[i].Summary.GroupFooterKind = skCount then
table.Columns[i].Summary.GroupFooterFormat := count +
table.Columns[i].Caption + ' 0 ';

if table.Columns[i].Summary.GroupFooterKind = skSum then
table.Columns[i].Summary.GroupFooterFormat := sum +
table.Columns[i].Caption
+ ' 0, ';

if table.Columns[i].Summary.GroupFooterKind = skMin then
table.Columns[i].Summary.GroupFooterFormat := min +
table.Columns[i].Caption + ' 0 ';

if table.Columns[i].Summary.GroupFooterKind = skMax then
table.Columns[i].Summary.GroupFooterFormat := max +
table.Columns[i].Caption
+ ' 0, ';

if table.Columns[i].Summary.GroupFooterKind = skAverage then
table.Columns[i].Summary.GroupFooterFormat := avg +
table.Columns[i].Caption + ' 0 ';

//////////////////////////

if table.Columns[i].Summary.GroupKind = skCount then
table.Columns[i].Summary.GroupFormat := count +
table.Columns[i].Caption + ' 0 ';

if table.Columns[i].Summary.GroupKind = skSum then
table.Columns[i].Summary.GroupFormat := sum +
table.Columns[i].Caption
+ ' 0 ';

if table.Columns[i].Summary.GroupKind = skMin then
table.Columns[i].Summary.GroupFormat := min +
table.Columns[i].Caption + ' 0 ';

if table.Columns[i].Summary.GroupKind = skMax then
table.Columns[i].Summary.GroupFormat := max +
table.Columns[i].Caption
+ ' 0 ';
if table.Columns[i].Summary.GroupKind = skAverage then
table.Columns[i].Summary.GroupFormat := avg +
table.Columns[i].Caption + ' 0 ';

end
else
begin
if table.Columns[i].Summary.FooterKind <> skNone then
table.Columns[i].Summary.FooterFormat := ' ';
if table.Columns[i].Summary.GroupFooterKind <> sknone then
table.Columns[i].Summary.GroupFooterFormat := ' ';
if table.Columns[i].Summary.GroupKind <> skNone then
table.Columns[i].Summary.GroupFormat := ' ';

end;

end;

////////////////////////////////////

end;

امیر مهرشاد
سه شنبه 10 دی 1392, 07:19 صبح
گرید دات نت توی تالار دلفی؟ خود کامپوننت پراپرتی summary داره کجای چیز به این سادگی گیر کردی؟

من یه پروسیجر برای فارسی کردن استایل فوتر و ساماری نوشتم برات میذارم
http://segalpardaz.ir/wp-content/uploads/dev3.jpg



procedure tpatern.cxset(table: TcxGridTableView);
var
i: Integer;

var
count, sum, min, max, avg: string;

begin

count := ' count ';
sum := ' sum ';
min := ' min ';
max := ' max ';
avg := ' avg ';

if StrToBool(patern.regread('software', 'rtl_reading')) then
begin
count := ' تعداد ';
sum := ' جمع ';
min := ' کمترين ';
max := ' بيشترين ';
avg := ' ميانگين ';
end;

for i := 0 to table.ColumnCount - 1 do
begin
if table.Columns[I].Visible then
begin
if table.Columns[i].Summary.FooterKind = skCount then
table.Columns[i].Summary.FooterFormat := count +
table.Columns[i].Caption + ' 0 ';

if table.Columns[i].Summary.FooterKind = skSum then
table.Columns[i].Summary.FooterFormat := sum +
table.Columns[i].Caption
+ ' 0, ';

if table.Columns[i].Summary.FooterKind = skMin then
table.Columns[i].Summary.FooterFormat := min +
table.Columns[i].Caption + ' 0 ';

if table.Columns[i].Summary.FooterKind = skMax then
table.Columns[i].Summary.FooterFormat := max +
table.Columns[i].Caption
+ ' 0, ';

if table.Columns[i].Summary.FooterKind = skAverage then
table.Columns[i].Summary.FooterFormat := avg +
table.Columns[i].Caption
+ ' 0, ';

/////////////////////

if table.Columns[i].Summary.GroupFooterKind = skCount then
table.Columns[i].Summary.GroupFooterFormat := count +
table.Columns[i].Caption + ' 0 ';

if table.Columns[i].Summary.GroupFooterKind = skSum then
table.Columns[i].Summary.GroupFooterFormat := sum +
table.Columns[i].Caption
+ ' 0, ';

if table.Columns[i].Summary.GroupFooterKind = skMin then
table.Columns[i].Summary.GroupFooterFormat := min +
table.Columns[i].Caption + ' 0 ';

if table.Columns[i].Summary.GroupFooterKind = skMax then
table.Columns[i].Summary.GroupFooterFormat := max +
table.Columns[i].Caption
+ ' 0, ';

if table.Columns[i].Summary.GroupFooterKind = skAverage then
table.Columns[i].Summary.GroupFooterFormat := avg +
table.Columns[i].Caption + ' 0 ';

//////////////////////////

if table.Columns[i].Summary.GroupKind = skCount then
table.Columns[i].Summary.GroupFormat := count +
table.Columns[i].Caption + ' 0 ';

if table.Columns[i].Summary.GroupKind = skSum then
table.Columns[i].Summary.GroupFormat := sum +
table.Columns[i].Caption
+ ' 0 ';

if table.Columns[i].Summary.GroupKind = skMin then
table.Columns[i].Summary.GroupFormat := min +
table.Columns[i].Caption + ' 0 ';

if table.Columns[i].Summary.GroupKind = skMax then
table.Columns[i].Summary.GroupFormat := max +
table.Columns[i].Caption
+ ' 0 ';
if table.Columns[i].Summary.GroupKind = skAverage then
table.Columns[i].Summary.GroupFormat := avg +
table.Columns[i].Caption + ' 0 ';

end
else
begin
if table.Columns[i].Summary.FooterKind <> skNone then
table.Columns[i].Summary.FooterFormat := ' ';
if table.Columns[i].Summary.GroupFooterKind <> sknone then
table.Columns[i].Summary.GroupFooterFormat := ' ';
if table.Columns[i].Summary.GroupKind <> skNone then
table.Columns[i].Summary.GroupFormat := ' ';

end;

end;

////////////////////////////////////

end;


ممنون دوست عزیز اصلا حواسم نبود توی این تالار پست میزنم در هر حال ممنون از راهنمایی جامعتون موفق باشید:گیج: