سؤال

آسف لمجموعة من أسئلة Struts2 / JSP ، لكن لدي طاولة تم إنشاؤها معها عرض علامة:

<display:table name="table" pagesize="10" id="row" requestURI="">
<display:column title="Action">
    <s:form theme="simple">
        <s:submit action="remove" value="Remove" 
        onclick="return confirm('Are you sure you want to delete this item?');"/>
        <s:submit action="displayEdit" value="Edit"/>
    </s:form>
</display:column>
<display:column property="cpc" title="CPC"/>
<display:column property="companyName" title="Company Name"/>
<display:column property="eventType" title="Event Type"/>
<display:column property="industryType" title="Industry Type"/>
<display:column property="previousEvents" />
<display:column property="creditNotifications" />
<display:column property="interimNotifyEnterprise" />
</display:table>

الآن أريد أن أكون قادرًا على حذف أو تحرير صف معين (لدي بالفعل الإجراءات المكتوبة) ، ولكن كيف يمكنني الحصول على البيانات المحددة لكل صف حتى أتمكن من إخبار فئة الإجراء الخاصة بي عن الصف الذي يجب تحريره أو حذفه؟

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

المحلول

ذكرت هذا في السابق سؤال سألت في اليوم الآخر. تحتاج فقط إلى شيء ما في صفك ، وربما حقل مخفي ، يمكن استخدامه لتحديد العنصر بشكل فريد.

اقترحت استخدام <s:hidden key="rowID" /> في الصف ، والذي سيتم تقديمه مع الإجراء. طالما كان لديك خاصية مثل تلك الموجودة على كائنك ، وفي الإجراء إزالة ، كان لديك جهاز لتلقي هذه القيمة ، يمكنك استخدام ذلك لتحديد الصف بشكل فريد.

نصائح أخرى

يبدو أن الجدول الخاص بك ليس لديه حقل معرف فريد في كائن الفئة لكل صف. يمكنك إضافة حقل -ID في فئة الفول التي ستعرضها. (CompanyId في فئة Bean Company). بحيث يعرض كل صف في الجدول كائن "شركة" فريد واعتمادًا على حقل "CompanyId" الذي يمكنك تحريره/حذف كائن محدد عن طريق تمرير "CompanyId" إلى فئة الإجراءات.

قد لا ترغب في عرض عمود "CompanyId" في تخطيط واجهة المستخدم إلى المستخدم النهائي. في هذه الحالة ، يمكنك فقط إنشاء ارتباط تشعبي بعمود "تحرير" و "حذف" باستخدام "CompanyId" كمعلمة.

انظر DisplayTag البرنامج التعليمي في هذا موقع لمزيد من التفاصيل.

استخدم أدناه للحصول على معرف الصف. على سبيل المثال ، استخدمت زر الراديو ،

<display:column  property="radioButton" title="ID">
                  <input type="radio" value='<%=data_rowNum.intValue()-1%>' name='rowNr' onClick="fnEnableControls()"/>
</display:column>

الآن يمكنك بسهولة الحصول على قيمة Rownr باستخدام req.getParameter وبناءً على هذا ، يمكنك الحصول على السجل من القائمة التي قدمتها لعرض جدول العلامة.

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