سؤال

لدي DataGrid بسيط جدًا يحتوي على عمودين، شيء من هذا القبيل:

<mx:DataGrid id="grid" >
    <mx:columns>
        <mx:DataGridColumn dataField="name" headerText="Name"/>
        <mx:DataGridColumn dataField="date" headerText="Date"/>
    </mx:columns>
</mx:DataGrid>

ما أحاول القيام به هو تنشيط إصدار الصف المحدد عندما ينقر المستخدم على الزر.حتى الآن لم أتمكن من العثور على أي مثال لكيفية القيام بذلك.لقد جربت بالفعل 6 أو 7 طرق مختلفة ولكن لم تنجح.هل لدى أحد أدنى فكرة عن كيفية القيام بذلك؟

كيف يمكنك الحصول على الصف المحدد (NOT SelectedItem) من DataGrid وكيف يمكنك:

  • قم بتغيير ItemRenderEditor أو ItemRenderer أثناء تحرك هذا الصف فقط.
  • أو قم بتمكين إصدار هذا الصف المحدد دون النقر عليه.

هذه هي الأسئلة التي لم أتمكن من الإجابة عليها

المساعدة ستكون موضع تقدير كبير.

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

المحلول

يمكنك الحصول على الصف المحدد باستخدام خاصيةgrid.selectedIndex.فكرة واحدة لك مشكلة:

  • قم بإضافة خاصية "قابلة للتحرير" إلى العناصر الموجودة في شبكة البيانات والتي تكون خاطئة افتراضيًا
  • عند النقر على الزر، اضبط الشبكة.selectedItem.editable = true;
  • قم بتغيير عارض عناصر الشبكة إلى عارض جديد، والذي يعرض حقول TextInput إذا كان العنصر قابلاً للتحرير أو مجرد تسمية عادية إذا لم يكن كذلك

يمكنك تغيير عارض العنصر في وقت التشغيل مثل هذا:

grid.itemRenderer = new ClassFactory(com.myapp.renderers.MyGridItemRenderer);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top