/// <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); //} }
/// <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); //} }
// 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; } }
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; }
// 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; } }
/// <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); }