Axapta: حقل البحث عرض قيمة السلسلة بدلا من المعرف؟

StackOverflow https://stackoverflow.com/questions/1716694

  •  19-09-2019
  •  | 
  •  

سؤال

عندما يولد الفأس النماذج والشبكات، يتم تعبئة جميع عمليات البحث بشكل صحيح، ولكن يتم عرض معرف عنصر البحث في النموذج. الطريقة الوحيدة لرؤية القيم التي معنى لها هي النقر على الحقل - وليس مثاليا حقا. هل هناك طريقة لعرض قيمة البحث في النموذج بدلا من رقم المعرف وراء ذلك؟

أرغب في نموذج "الجدول" لعرض TableA_Value بدلا من TableA_ID.

tablea.

  • tableA_id (int - فريدة من نوعها)
  • TableA_Value (سلسلة - غير فريدة)

طاولة

  • tableb_id (int - فريدة من نوعها)
  • TableA_ID (Int - العلاقة إلى TableA)
  • TableB_Datafields (متفرقات)

شكرا

هل كانت مفيدة؟

المحلول

تعذر العثور على طريقة لتغيير قيمة البحث نفسه، لذلك أضع حقل ثابت بجانبه يقوم بالتحديثات في أي وقت يتم تغيير البحث. إليك كيف انتهى بي الأمر بذلك:

طريقة العرض على الجدول ج:

display [datatype] lookupName(tableA _tableA)
{
    ;
    return tableB::find(_tableA.[tableA id column]).[tableB string column];
}

العثور على طريقة على الجدول ب:

static tableB find([datatype] [lookup variable], boolean _forUpdate = false,
 ConcurrencyModel _concurrencyModel = ConcurrencyModel::Auto)
{
[TableB] [tableB];

if ([lookup variable])
{
    if (_forUpdate)
    {
        tableB.selectForUpdate(_forUpdate);
        if (_concurrencyModel != ConcurrencyModel::Auto)
        {
            tableB.concurrencyModel(_concurrencyModel);
        }
    }

    select firstonly tableB
        where tableB.[lookup column] == [lookup variable];
}
return tableB;

}

إضافة كلا الجدول A و B AS Datasources للنموذج.

وأضاف حقل سلسلة إلى النموذج.

قم بتعيين جدول A ك DataSource للحقل والبحث باسم Datamethod.

إضافة طريقة معدلة لحقل البحث لتسبب تحديث الحقل الثابت لتحديث:

element.redraw();

أمل أن هذا يساعد شخصاما.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top