コード例 #1
0
        private DataListViewSettings.SerializableDataListViewInfo FindSuitableSetting(DataListView listView)
        {
            if (this.DataListViewInfo == null || this.DataListViewInfo[listView.Name] == null)
            {
                return(null);
            }
            DataListViewSettings.SerializableDataListViewInfo serializableDataListViewInfo = (DataListViewSettings.SerializableDataListViewInfo) this.DataListViewInfo[listView.Name];
            if (listView.AvailableColumns[serializableDataListViewInfo.SortProperty] == null)
            {
                return(null);
            }
            int length = serializableDataListViewInfo.Columns.GetLength(0);

            if (length > listView.AvailableColumns.Count)
            {
                return(null);
            }
            for (int i = 0; i < length; i++)
            {
                if (!string.IsNullOrEmpty(serializableDataListViewInfo.Columns[i].ColumnName) && listView.AvailableColumns[serializableDataListViewInfo.Columns[i].ColumnName] == null)
                {
                    return(null);
                }
            }
            return(serializableDataListViewInfo);
        }
コード例 #2
0
 public void LoadDataListViewSettings(DataListView listView)
 {
     if (listView == null)
     {
         throw new ArgumentNullException();
     }
     listView.BeginUpdate();
     DataListViewSettings.SerializableDataListViewInfo serializableDataListViewInfo = this.FindSuitableSetting(listView);
     if (serializableDataListViewInfo == null)
     {
         listView.SortDirection = ListSortDirection.Ascending;
     }
     else
     {
         listView.SortDirection       = serializableDataListViewInfo.SortDirection;
         listView.SortProperty        = serializableDataListViewInfo.SortProperty;
         listView.IsColumnsWidthDirty = serializableDataListViewInfo.IsColumnsWidthDirty;
         int       length    = serializableDataListViewInfo.Columns.GetLength(0);
         ArrayList arrayList = new ArrayList(length);
         int       num       = 0;
         for (int i = 0; i < length; i++)
         {
             if (!string.IsNullOrEmpty(serializableDataListViewInfo.Columns[i].ColumnName))
             {
                 ExchangeColumnHeader exchangeColumnHeader = listView.AvailableColumns[serializableDataListViewInfo.Columns[i].ColumnName];
                 exchangeColumnHeader.Visible      = true;
                 exchangeColumnHeader.Width        = serializableDataListViewInfo.Columns[i].ColumnWidth;
                 exchangeColumnHeader.DisplayIndex = num++;
                 arrayList.Add(exchangeColumnHeader);
             }
         }
         if (arrayList.Count > 0)
         {
             foreach (ExchangeColumnHeader exchangeColumnHeader2 in listView.AvailableColumns)
             {
                 exchangeColumnHeader2.Visible = arrayList.Contains(exchangeColumnHeader2);
             }
         }
     }
     listView.EndUpdate();
 }