Ejemplo n.º 1
0
        //获取分组字段的排序信息
        private bool getSortInfo()
        {
            bool b = checkedSortInfo();

            if (!b)
            {
                return(false);
            }
            foreach (RptFieldInfo rpt in _FieldList)
            {
                rpt.SetSort = false;
            }
            int orderIndex = 0;

            for (int i = 0; i < MAX_SORT_FIELD; i++)
            {
                ComboBox box = _CobSort[i] as  ComboBox;
                if (box.SelectedIndex > 0)
                {
                    RptFieldInfo info = box.SelectedItem as RptFieldInfo;
                    if (info.IsGroup)
                    {
                        Button but = _ButSort[i] as Button;
                        info.SetSort     = true;
                        info.IsAscending = but.Text == ASC_TEXT;
                        info.OrderIndex  = orderIndex++;
                    }
                }
            }
            return(true);
        }
Ejemplo n.º 2
0
 //获取组级分隔设置的信息
 private void getDivideInfo()
 {
     foreach (ComboBox box in _CobDivides)
     {
         if (box.Tag != null)
         {
             RptFieldInfo info = box.Tag as RptFieldInfo;
             info.DivideName = box.Text;
         }
     }
 }
Ejemplo n.º 3
0
        private void moveFromGroup()
        {
            int seIndex = lstGroupFields.SelectedIndex;

            if (seIndex > -1)
            {
                RptFieldInfo field = lstGroupFields.SelectedItem as RptFieldInfo;
                field.IsGroup = false;
                lstGroupFields.Items.Remove(field);
                lstFields.Items.Add(field);

                setSelectedIndex(seIndex, lstGroupFields);
            }
        }
Ejemplo n.º 4
0
        // 升序较器
        int IComparer.Compare(Object x, Object y)
        {
            RptFieldInfo xObj = x as RptFieldInfo;
            RptFieldInfo yObj = y as RptFieldInfo;

            if (xObj != null && yObj != null)
            {
                return((new CaseInsensitiveComparer()).Compare(xObj.OrderIndex, yObj.OrderIndex));
            }
            else
            {
                return(0);
            }
        }
Ejemplo n.º 5
0
        //先后顺序的调整
        private void sortItem(bool pIsNext)
        {
            int selIndex = lstGroupFields.SelectedIndex;

            if ((!pIsNext & selIndex < 1) || (pIsNext & selIndex == lstGroupFields.Items.Count - 1))
            {
                return;
            }
            int          insert = pIsNext == false?selIndex - 1:selIndex + 1;
            RptFieldInfo info   = lstGroupFields.SelectedItem as  RptFieldInfo;

            lstGroupFields.Items.RemoveAt(selIndex);
            lstGroupFields.Items.Insert(insert, info);
            lstGroupFields.SelectedIndex = insert;
        }
Ejemplo n.º 6
0
 //增加间隔的描述信息到下拉列表框中
 private void addToCobDivides(ComboBox pBox, RptFieldInfo pFieldInfo)
 {
     string[] vals = GroupDivide.GetDivideTextByType(pFieldInfo.DataType);
     pBox.Items.Clear();
     foreach (string val in vals)
     {
         pBox.Items.Add(val);
     }
     if (pFieldInfo.DivideName != null && pFieldInfo.DivideName != "")
     {
         pBox.Text = pFieldInfo.DivideName;
     }
     else
     {
         pBox.SelectedIndex = 0;
     }
 }
Ejemplo n.º 7
0
        //分组字段选择控制
        private void moveToGroup()
        {
            int seIndex = lstFields.SelectedIndex;

            if (seIndex > -1)
            {
                RptFieldInfo field = lstFields.SelectedItem as RptFieldInfo;
                field.IsGroup    = true;
                field.OrderIndex = lstGroupFields.Items.Count;
                lstFields.Items.Remove(field);
                lstGroupFields.Items.Add(field);

                setSelectedIndex(seIndex, lstFields);
                field.DivideName  = "";
                field.IsAscending = true;
            }
        }