Я читал здесь статью, что http://bbcascadescode.tumblr.com/post/51115772119/swap-function-in-containers, мы можем обменять компоненты контейнера. Я пошел той же процедурой и работает для меня. Когда я применял ту же процедуру для списка Costume Listview, я получаю «ReferenceError: Не удается найти переменную: tadawulList» на консоли.Swaping Listview позиции в BB 10 Cascades
Container {
id:trade
layout: StackLayout {
orientation: LayoutOrientation.LeftToRight
}
topMargin: 10
ListView {
id: tradeList
objectName: "tradeList"
dataModel: _app.dataModel
visible: true;
listItemComponents: [
ListItemComponent {
type: "header"
Header {
title: {
ListItemData
}
}
},
// The tradeList Item
ListItemComponent {
type: "item"
Container {
id:tadawulList
leftPadding: 15.0
rightPadding: 15.0
background: Color.create("#1a1a1a")
preferredHeight: 80.0
topMargin: 6
layout: StackLayout {
orientation: LayoutOrientation.LeftToRight
}
Label {
id: symbol
text: ListItemData.Symbol_En
//text: ListItemData.Symbol_En.length()>20?Symbol_En.subString(0,15): Symbol_En
// Text Style and size etc
textStyle.base: SystemDefaults.TextStyles.SubtitleText
textStyle.fontSizeValue: 5.0
layoutProperties: StackLayoutProperties {
spaceQuota: 3.0
}
verticalAlignment: VerticalAlignment.Center
horizontalAlignment: HorizontalAlignment.Center
textStyle.color: Color.White
textStyle.fontWeight: FontWeight.Bold
textStyle.fontSize: FontSize.PointValue
// multiline: true
}
Container {
id: tadawulchange1
layout: StackLayout {
}
layoutProperties: StackLayoutProperties {
spaceQuota: 2.0
}
// ListItemData.PerChange.length == 1 ? Color.create("#1a1a1a") :Color.DarkRed
// background: ListItemData.PerChange.indexOf('-') < 0 ?((ListItemData.PerChange.length() == 1) ? Color.create("#1a1a1a") : Color.create("#ff105900")) : ((ListItemData.PerChange.length() == 1) ? Color.create("#1a1a1a") : Color.DarkRed)
background: (ListItemData.PerChange.indexOf('-') < 0)?((ListItemData.PerChange.indexOf('0.00') <0 ? Color.create("#ff105900"): Color.create("#1a1a1a"))): ((ListItemData.PerChange.indexOf('0.00') < 0 ? Color.DarkRed: Color.create("#1a1a1a")))
verticalAlignment: VerticalAlignment.Center
preferredHeight: 20.0
Label {
id: change
text: ListItemData.PerChange
// textStyle.color: ListItemData.PerChange.indexOf('-') < 0 ? Color.Green : Color.Red //here
textStyle.base: SystemDefaults.TextStyles.SubtitleText
textStyle.fontSizeValue: 30.0
layoutProperties: StackLayoutProperties {
spaceQuota: 2
}
verticalAlignment: VerticalAlignment.Center
horizontalAlignment: HorizontalAlignment.Center
preferredHeight: 0.0
}
}
Label {
id: ltp
text: ListItemData.LTP
textStyle.base: SystemDefaults.TextStyles.SubtitleText
textStyle.fontSizeValue: 30.0
layoutProperties: StackLayoutProperties {
spaceQuota: 1
}
verticalAlignment: VerticalAlignment.Center
horizontalAlignment: HorizontalAlignment.Center
textStyle.color: Color.White
textStyle.fontWeight: FontWeight.Default
}
Label {
id: highValue
text: ListItemData.High
textStyle.base: SystemDefaults.TextStyles.SubtitleText
textStyle.fontSizeValue: 30.0
layoutProperties: StackLayoutProperties {
spaceQuota: 1
}
verticalAlignment: VerticalAlignment.Center
horizontalAlignment: HorizontalAlignment.Center
textStyle.color: Color.White
textStyle.fontWeight: FontWeight.Default
}
Label {
id: lowValue
text: ListItemData.Low
textStyle.base: SystemDefaults.TextStyles.SubtitleText
textStyle.fontSizeValue: 30.0
layoutProperties: StackLayoutProperties {
spaceQuota: 1
}
verticalAlignment: VerticalAlignment.Center
horizontalAlignment: HorizontalAlignment.Center
textStyle.color: Color.White
textStyle.fontWeight: FontWeight.Default
}
}
}
]
onTriggered: {
var selectedItem = dataModel.data(indexPath);
lightTimer.stop();
_app.dropSymbols(1); // Drop Req for Tadawul
_app.loadQuickWatch(selectedItem.symbol_ID);
}
onVisibleChanged: {
myIndicator.stop();
loader.visible = false
loadText.visible=false
}
}
}
и MyButton Нажмите выглядит следующим образом:
Button {
horizontalAlignment: HorizontalAlignment.Right
imageSource: "asset:///images/search_icon.png"
preferredWidth: 10.0
preferredHeight: 10.0
layoutProperties: StackLayoutProperties {
spaceQuota: 1.0
}
onClicked: {
tadawulList.swap(0, 4);
tadawulList.swap(1, 3);
}
}
Пожалуйста, Веди меня,
Спасибо !!!
Где ваша кнопка? он должен быть внутри ** ListItemComponent ** .. –
Он находится за пределами ListItemComponent (другой контейнер), есть ли другой способ достичь этого? Мне нужно поменять, когда кнопка (другой контейнер) Cliecked. – Sharath
какая позиция Контейнера вы хотите поменять на кнопку? –