PDA

View Full Version : مشکل سورت فارسی در ehgrid



danesh1351
پنج شنبه 14 آذر 1392, 12:26 عصر
با سلام
وقتي در EhGrid يك ستون مثلا نام خانوادگي را سورت ميكنم چون سورت ابزار بصورت بافرينگ است حروف پ ژ ک گ چ در اولويت بوده و در سورت بندي در ابتداي جدول قرار ميگيرند .
لطفا راهنمائي كنيد .

hadisalahi2
پنج شنبه 14 آذر 1392, 17:40 عصر
متاسفانه این مشکل وجود داره
مگه اینکه خودت دستی این کار رو انجام بدی

danesh1351
شنبه 16 آذر 1392, 09:50 صبح
اگه ممکنه راهنمایی کنید . چطور دستی انجام بدم

یوسف زالی
شنبه 16 آذر 1392, 11:13 صبح
سلام.
ایراد از کدپیج شماست.
می تونید در اس کیو ال درستش کنید یا این که ترتیب سورت رو دستی در دلفی ست کنید که مکافات داره.
بهترین راه دی بی هست.
برای اطلاعات بیشتر در تالار اس کیو ال دنبال اصلاح حرف ک بگردید.

مجتبی جوادی
شنبه 16 آذر 1392, 20:27 عصر
درود
شما میبایست هنگام ورود داده ها کد پیج این حروف را اصلاح می کردید که در این مورد هم اگر جستجو کنید کد آنرا پیدا می کنید. ولی اگر اطلاعات زیادی وارد کرده اید کارتان خیلی مشکل میشود و باید یک برنامه بنویسید تا کد پیج حروف ها مورد نظر را اصلاح کند .
موفق باشید

یوسف زالی
شنبه 16 آذر 1392, 21:19 عصر
ولی اگر اطلاعات زیادی وارد کرده اید کارتان خیلی مشکل میشود و باید یک برنامه بنویسید تا کد پیج حروف ها مورد نظر را اصلاح کند .

به هیچ وجه اینطور نیست.
به سادگی ران کردن یک اسکریپته. اسکریپتش رو هم نوشتم در تالار اس کیو ال گذاشتم. کاقیه سرچ کنید.

hadisalahi2
یک شنبه 17 آذر 1392, 11:44 صبح
این تیکه کد هم موقع زدن کلیدها ((ک)) و ((ی)) اون اونها رو تصحیح میکنه



procedure TCompanyForm.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if Msg.wParam=1740 then Msg.wParam:=1610; //*** Correct Letter "ی" ***
if Msg.wParam=1705 then Msg.wParam:=1603; //*** Correct Letter "ک" ***
end;
//QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQQQQQQQQQQQ

danesh1351
چهارشنبه 20 آذر 1392, 10:38 صبح
خدمت کلیه دوستان عرض شود که :
1 - حرف ک فارسی با صفحه کلید فارسی درست است ولی با حرف ک عربی که استاندارد اصلی ویندوز است مشکل داره .
2 - من فکر میکنم هر چی هست مربوط به فایل kbdfa.dll هستش که چه عربی چه فارسی باید یک فایلی داشته باشی که این حروف رو درست وارد کنه .
اگه کسی فایل رو داره و امتحانش کرده بزاره رو سایت برای بقیه .

danesh1351
شنبه 23 آذر 1392, 10:56 صبح
چرا سورت حروف در بقيه ابزارهاي ehlib درست است ؟
من فكر ميكنم ايراد مربوط به سورت در memtable است .
دارم روي سورت روي جدول اصلي كار ميكنم . يعني سورت memtable رو ميخوام از كار بندازم .
اگه كسي رو اين قضيه كار كرده رو سايت قرار بده .
اگه به نتيجه برسم رو سايت قرار ميدم .

danesh1351
دوشنبه 25 آذر 1392, 11:57 صبح
پس از بررسي فهميدم مشكل مربوط به حالت سورت در local است و بايد از سورت روي سرور استفاده نمود .
و چون ttable اين حالت رو ساپورت نميكنه . از bdedatadriveEh يا AdoDataDriveEh ميشه استفاده كرد و MemTableEh رو مستقيم بهش وصل كني .
خيلي جالبه مشكل حل شد و كلي هم امكانات بهت ميده .

danesh1351
دوشنبه 25 آذر 1392, 11:59 صبح
خدمت كليه آقايون عرض كنم اين قضيه هيچ ربطي به صفحه كليد و .... ندارد و فقط مربوط به نحوه سورت كردن داده ها در ابزار EhLib است . البته در نسخه هاي قبلي اين مشكل وجود نداره

hadisalahi2
دوشنبه 25 آذر 1392, 16:25 عصر
خيلي جالبه مشكل حل شد و كلي هم امكانات بهت ميده .
میشه چند نمونه از امکاناتش رو نام ببری
من هم میخوام از این کامپوننت استفاده کنم

danesh1351
شنبه 30 آذر 1392, 10:06 صبح
مهمترين امكان اون نوشتن دستورات select , update , insert , delete بصورت پارامتريك است
select * from %tb% where %filter% %sortorder%
%tb%=mytable

danesh1351
شنبه 30 آذر 1392, 10:16 صبح
البته اگه خاصيت گروه بندي dbgrigEh فعال بشه برنامه اجرا نميشه و پيام خطاي ناشناخته ميده .
مثالهاي ehlib رو هم بررسي كردم همين مشكل رو دارن .

khorsandreza
چهارشنبه 31 اردیبهشت 1393, 22:33 عصر
سلام
هرچند خیلی دیر هست ولی خالی از لطف نیست . من با کد زیر روی جداول سورت ارنجام میدهم بدون مشکل بالا و این فارغ از نوع دیتاگرید است

$J+}
const PreviousColumnIndex : integer = -1;
{$J-}
begin
if Grid.DataSource.DataSet is TCustomADODataSet then
with TCustomADODataSet(Grid.DataSource.DataSet) do
begin
try
Grid.Columns[PreviousColumnIndex].title.Font.Style := Grid.Columns[PreviousColumnIndex].title.Font.Style - [fsBold];
Grid.Columns[PreviousColumnIndex].title.Font.Color := clWindowText;
except
end;

Column.title.Font.Style := Column.title.Font.Style + [fsBold];
Column.title.Font.Color := clRed;
PreviousColumnIndex := Column.Index;
case _SortType of
True : Sort := Column.Field.FieldName + ' ASC';
False: Sort := Column.Field.FieldName + ' DESC' ;
End;
_SortType := Not _SortType;

end;