我有一個數據網格,用戶可以拖動列並重新定位它們。 但有一個奇怪的要求,一些列不應該拖到其他列的左側。flex datagrid列拖動
例如,假設欄目有:名稱,價格,開始日期,結束日期,
的結束日期不應被拖動並放置在開始日期之前。 即用戶可以有
- 開始日期,價格,名稱,結束日期。
- 名稱,開始日期,價格,結束日期。
但是,在開始日期之前沒有結束日期。
有沒有辦法做到這一點flex? 有沒有辦法知道用戶在哪裏試圖刪除列並顯示錯誤消息?
我有一個數據網格,用戶可以拖動列並重新定位它們。 但有一個奇怪的要求,一些列不應該拖到其他列的左側。flex datagrid列拖動
例如,假設欄目有:名稱,價格,開始日期,結束日期,
的結束日期不應被拖動並放置在開始日期之前。 即用戶可以有
但是,在開始日期之前沒有結束日期。
有沒有辦法做到這一點flex? 有沒有辦法知道用戶在哪裏試圖刪除列並顯示錯誤消息?
該解決方案涉及解決方法。
解決方案(通知childrenDragEnabled="false"
):
<mx:AdvancedDataGridColumnGroup childrenDragEnabled="false">
<mx:AdvancedDataGridColumn dataField="startDate" />
<mx:AdvancedDataGridColumn dataField="endDate" />
</mx:AdvancedDataGridColumnGroup>
您需要監聽headerShift事件,檢查新索引與先前不允許的索引,然後自行移回。
謝謝你,這個事件似乎後列的交換設定被解僱。即grid.columns [oldIndex]不是要移動的列,而是要刪除的列。另外,我們如何阻止這個事件完成列交換。 - 這還不清楚,我需要探索。請讓我知道你是否可以點亮它。 – 2010-10-21 03:22:28
似乎沒有與該事件對應的受保護方法,並且該事件本身似乎在事件之後被分派。你需要猴子補丁的DG代碼,使其工作我懷疑,DG的外部沒有好辦法,我可以看到停止轉變。 – 2010-10-21 10:34:16
:(我可能會嘗試將事件中的列交換回來,而不是阻止它。希望這應該是一個足夠好的工作。謝謝。 – 2010-10-22 18:41:24