قابليت Auto Increment براي سطرهاي جداول تكراري در فرمهاي InfoPath
سلام
مدتها قبل تصميم داشتم تا در يك جدول از نوع Repeating-Table فرم اينفوپت يك فيلد قرار بدم تا زمانيكه كاربر فرم رو تكميل كرد، به ازاء هر سطر از جدول ، اين فيلد به صورت خودكار مقدار خودش رو افزايش بده و پس از ثبت اطلاعات فرم در ليست شرپوينت متوجه بشم كه هر شخصي چه تعداد اطلاعات در يك جدول ثبت كرده. براي انكار نياز به يك فيلد از نوع Auto Increment داشتم كه با افزايش هر سطر به جدول توسط كاربر، مقدار اون فيلد هم با اختلاف يك عدد افزايش پيدا كنه.
من براي اينكار از روش زير استفاده كردم :
1- ابتدا يك فيلد از نوع TextBox و Type String در فرم تعريف كنيد و اين فيلد رو در ابتداي جدول Repeating Table قرار بديد.(فرض كنيم نام اين فيلد .No باشد)
2- حال برروي فيلد دوبار كليك كنيد و در پنجره Property و در قسمت Default Value گزينه FX را انتخاب كنيد.
3- خاصيت Edit Xpath را فعال كنيد و مقدار زير را در باكس مربوطه وارد كنيد :
count(../preceding-sibling::*/No.) + 1
مانند شكل زير :
4- پنجره را با Ok ببنديد.
حال اگر فرم را اجرا كنيد، خواهيد ديد كه به ازاي هر سطر اضافه شده در جدول مقادير فيلد No. شما هم افزايش مي يابد.شكل زير.
اميدوارم اين تجربه براي شما مفيد بوده باشه.
موفق باشيد.