Ejemplo n.º 1
0
        /// <summary>
        /// 添加控件至F4的集合
        /// </summary>
        /// <param name="F4">F4控件</param>
        /// <param name="Ctr">数据字典包括的控件</param>
        /// <param name="sAttr">控件属性。P:主键;R;查询条件;I:需F4查出来后返回值;B:往后台传的参数</param>
        /// <param name="sBackname">对应后台字段名</param>
        /// <param name="sColName">前台显示列名</param>
        /// <param name="siCol">前台对应的列号。从1开始</param>
        public static void Gp_DD_Collection(C1.Win.C1FlexGrid.Column F4, C1.Win.C1FlexGrid.Column Ctr, string sAttr, string sBackname, string sColName, int siCol)
        {
            // if (F4 is F4COMN)
            // {
            F4COMN f4_temp = (F4COMN)F4.Editor;

            f4_temp.Contrl.Add(Ctr);
            f4_temp.CtlAttr.Add(sAttr == null ? "" : sAttr.ToUpper());
            f4_temp.ColName.Add(sColName == null ? "" : sColName);
            f4_temp.BackName.Add(sBackname == null ? "" : sBackname);
            f4_temp.iCol.Add(siCol < 1 ? 1 : siCol);
            //  }
            // else if (F4 is F4COMR)
            // {
            //    F4COMR f4_temp = (F4COMR)F4;
            //    f4_temp.Contrl.Add(Ctr);
            //    f4_temp.CtlAttr.Add(sAttr == null ? "" : sAttr.ToUpper());
            //    f4_temp.ColName.Add(sColName == null ? "" : sColName);
            //    f4_temp.BackName.Add(sBackname == null ? "" : sBackname);
            //    f4_temp.iCol.Add(siCol < 1 ? 1 : siCol);
            //}
            //else
            //{
            //    throw new System.Exception("Gp_DD_Collection没有找到控件" + F4.Name);
            //}
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 设置F4控件的相关属性
        /// </summary>
        /// <param name="F4">F4控件</param>
        /// <param name="sBackTableName">对应的后台表名</param>
        /// <param name="sKeyName">代码对应的列名</param>
        /// <param name="sKeyValue">代码值</param>
        /// <param name="sJoin">限制条件</param>
        /// <param name="sOrderBy">排序顺序</param>
        /// <param name="sCusSql">自定义SQL语句</param>
        /// <param name="sPrcoCode">自定义后台包名.过程名。eg:PKG_QZA1010C.P_AMODIFY1</param>
        /// <param name="iMaxLength">F4COMR的长度</param>
        public static void Gp_DD_Set(C1.Win.C1FlexGrid.Column F4, string sBackTableName, string sKeyName, string sKeyValue, string sJoin, string sOrderBy, string sCusSql, string sPrcoCode, int iMaxLength)
        {
            F4COMN f4_temp = new F4COMN();

            f4_temp.BackTableName = sBackTableName == null ? "TZ_CD" : sBackTableName;
            f4_temp.KeyName       = sKeyName == null ? "" : sKeyName;
            f4_temp.Key           = sKeyValue == null ? "" : sKeyValue;
            f4_temp.OrderBy       = sOrderBy == null ? "" : sOrderBy;
            f4_temp.Join          = sJoin == null ? "" : sJoin;
            f4_temp.CusSql        = sCusSql == null ? "" : sCusSql;
            f4_temp.PrcoCode      = sPrcoCode == null ? "" : sPrcoCode;
            if (sPrcoCode != null && sPrcoCode.Length > 0)
            {
                f4_temp.Set_Witch2Cus();
            }
            F4.Editor = f4_temp;
            //if (F4 is F4COMN)
            //{
            //    F4COMN f4_temp = (F4COMN)F4;
            //    f4_temp.BackTableName = sBackTableName == null ? "TZ_CD" : sBackTableName;
            //    f4_temp.KeyName = sKeyName == null ? "" : sKeyName;
            //    f4_temp.Key = sKeyValue == null ? "" : sKeyValue;
            //    f4_temp.OrderBy = sOrderBy == null ? "" : sOrderBy;
            //    f4_temp.Join = sJoin == null ? "" : sJoin;
            //    f4_temp.CusSql = sCusSql == null ? "" : sCusSql;
            //    f4_temp.PrcoCode = sPrcoCode == null ? "" : sPrcoCode;
            //    if (sPrcoCode != null && sPrcoCode.Length > 0)
            //        f4_temp.Set_Witch2Cus();
            //}
            //else if (F4 is F4COMR)
            //{
            //    F4COMR f4_temp = (F4COMR)F4;
            //    f4_temp.BackTableName = sBackTableName == null ? "TZ_CD" : sBackTableName;
            //    f4_temp.KeyName = sKeyName == null ? "" : sKeyName;
            //    f4_temp.Key = sKeyValue == null ? "" : sKeyValue;
            //    f4_temp.OrderBy = sOrderBy == null ? "" : sOrderBy;
            //    f4_temp.Join = sJoin == null ? "" : sJoin;
            //    f4_temp.CusSql = sCusSql == null ? "" : sCusSql;
            //    f4_temp.PrcoCode = sPrcoCode == null ? "" : sPrcoCode;
            //    f4_temp.MaxLength = iMaxLength < 1 ? 9999 : iMaxLength;
            //    if (sPrcoCode != null && sPrcoCode.Length > 0)
            //        f4_temp.Set_Witch2Cus();
            //}
            //else
            //{
            //    throw new System.Exception("Gp_DD_Set没有找到控件" + F4.Name);
            //}
        }
Ejemplo n.º 3
0
        // auto-sizing works based on stored data
        // use default values for unbound columns
        void flex_BeforeAutosizeColumn(object sender, C1.Win.C1FlexGrid.RowColEventArgs e)
        {
            C1.Win.C1FlexGrid.Column c = flex.Cols[e.Col];

            // "FullName" is a calculated (unbound) column
            if (c.Name == "FullName")
            {
                c.Width  = flex.Cols.DefaultSize;
                e.Cancel = true;
                return;
            }

            // "Photo" is an image stored in a blob (byte[])
            if (c.Name == "Photo")
            {
                c.Width  = flex.Cols.DefaultSize * 2;
                e.Cancel = true;
                return;
            }
        }
Ejemplo n.º 4
0
        void Form1_Load(object sender, System.EventArgs e)
        {
            oleDbDataAdapter1.Fill(dataSet11);

            // make sure photo column is visible and non-editable
            flex.Cols["Photo"].Visible      = true;
            flex.Cols["Photo"].AllowEditing = false;

            // initialize styles
            flex.Styles.Normal.Margins.Left = flex.Styles.Normal.Margins.Right = 0;
            flex.Styles.Normal.TextAlign    = C1.Win.C1FlexGrid.TextAlignEnum.LeftTop;
            flex.Styles.Fixed.TextAlign     = C1.Win.C1FlexGrid.TextAlignEnum.LeftCenter;

            // add an unbound (calculated) column
            C1.Win.C1FlexGrid.Column c = flex.Cols.Insert(1);
            c.Caption = c.Name = "FullName";
            c.Width   = flex.Cols.DefaultSize * 2;

            // make rows taller to show images
            int hei = flex.Rows.DefaultSize;

            flex.Rows.DefaultSize = hei * 6;
            flex.Rows[0].Height   = hei;
        }
Ejemplo n.º 5
0
        // apply custom sort (use mapped values instead of raw)
        void _flex_BeforeSort(object sender, C1.Win.C1FlexGrid.SortColEventArgs e)
        {
            // if the column contains a data map
            _sourceColumn = _flex.Cols[e.Col];
            if (_sourceColumn.DataMap != null)
            {
                // add a hidden column just for sorting
                var dt = _flex.DataSource as DataTable;
                if (!dt.Columns.Contains(SORT_COL_NAME))
                {
                    var dcol = dt.Columns.Add(SORT_COL_NAME);
                    _flex.Cols[SORT_COL_NAME].Visible = false;
                }

                // remove current sort (if any)
                dt.DefaultView.Sort = string.Empty;

                // populate the sort column
                foreach (DataRow dr in dt.Rows)
                {
                    var key = dr[_sourceColumn.Name];
                    dr[SORT_COL_NAME] = _sourceColumn.DataMap[key];
                }

                // apply the new sort
                var sort = SORT_COL_NAME;
                if ((e.Order & C1.Win.C1FlexGrid.SortFlags.Descending) != 0)
                {
                    sort += " DESC";
                }
                dt.DefaultView.Sort = sort;

                // handled
                e.Handled = true;
            }
        }
Ejemplo n.º 6
0
 /// <summary>
 /// 设置F4控件的相关属性
 /// </summary>
 /// <param name="F4">F4控件</param>
 /// <param name="sBackTableName">对应的后台表名</param>
 /// <param name="sKeyName">代码对应的列名</param>
 /// <param name="sKeyValue">代码值</param>
 /// <param name="sJoin">限制条件</param>
 /// <param name="sOrderBy">排序顺序</param>
 /// <param name="sCusSql">自定义SQL语句</param>
 /// <param name="sPrcoCode">自定义后台包名.过程名。eg:PKG_QZA1010C.P_AMODIFY1</param>
 public static void Gp_DD_Set(C1.Win.C1FlexGrid.Column F4, string sBackTableName, string sKeyName, string sKeyValue, string sJoin, string sOrderBy, string sCusSql, string sPrcoCode)
 {
     Gp_DD_Set(F4, sBackTableName, sKeyName, sKeyValue, sJoin, sOrderBy, sCusSql, sPrcoCode, 9999);
 }