/// <summary> /// 更新ListFamilies的DisplayWeight /// </summary> private void UpdateListFamiliesDisplayWeight() { ListFamily.BeginTransaction(); for (int i = 0; i < lstListFamilies.Items.Count; i++) { DataRowView fd = lstListFamilies.Items[i] as DataRowView; ListFamily listFamily = ListFamily.GetListFamilyById(fd[ListFamily.FIELD_NAME_ID].ToString()); listFamily.DisplayWeight = i; ListFamily.UpdateListFamily(listFamily); } ListFamily.CommitTransaction(); }
/// <summary> /// 移动ListFamily /// </summary> /// <param name="moveDirection"></param> private void MoveListFamily(MoveDirection moveDirection) { int flag = Convert.ToInt16(moveDirection); if ((lstListFamiliesSelectedIndex - flag > -1) && (lstListFamiliesSelectedIndex - flag < listFamiliesDataTable.Rows.Count)) { selectedListFamily.DisplayWeight -= flag; ListFamily listFamily = ListFamily.GetListFamilyById(listFamiliesDataTable.Rows[lstListFamiliesSelectedIndex - flag][ListFamily.FIELD_NAME_ID].ToString()); listFamily.DisplayWeight += flag; ListFamily.UpdateListFamily(selectedListFamily); ListFamily.UpdateListFamily(listFamily); lstListFamiliesSelectedIndex -= flag; ReadListFamiles(); } }
/// <summary> /// lstListFamilies 的 SelectionChanged 事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void lstListFamilies_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e) { if (lstListFamilies.SelectedIndex != -1) { if (selectedListFamily.SortType == SortType.Manual) { UpdateListChildrenDisplayWeight(); } DataRowView fd = lstListFamilies.SelectedItem as DataRowView; selectedListFamily = ListFamily.GetListFamilyById(fd[ListFamily.FIELD_NAME_ID].ToString()); lstListFamiliesSelectedIndex = lstListFamilies.SelectedIndex; listChildrenDisplayPart.SelectionIndex = 0; tbListFamilyName.Text = string.Format("{0}:", selectedListFamily.Title); ReadListChildren(); } }