Example #1
0
        private void c1FlexGrid1_BeforeMouseDown(object sender, BeforeMouseDownEventArgs e)
        {
            if (c1FlexGrid1.HitTest().Type == HitTestTypeEnum.Checkbox)
            {
                if (cRange.r1 != cRange.r2)
                {
                    int col, row;
                    col = c1FlexGrid1.HitTest(e.X, e.Y).Column;
                    row = c1FlexGrid1.HitTest(e.X, e.Y).Row;
                    //Cancel the default mouse down action
                    e.Cancel = true;
                    C1.Win.C1FlexGrid.CheckEnum chValue = c1FlexGrid1.GetCellCheck(row, col);
                    List <DataRowView>          drList  = new List <DataRowView>();
                    for (int i = cRange.r1; i <= cRange.r2; i++)
                    {
                        drList.Add(c1FlexGrid1.Rows[i].DataSource as DataRowView);
                    }

                    foreach (DataRowView dr in drList)
                    {
                        switch (chValue)
                        {
                        case C1.Win.C1FlexGrid.CheckEnum.Checked:
                        case C1.Win.C1FlexGrid.CheckEnum.TSChecked:
                            dr["chon"] = false;
                            break;

                        case C1.Win.C1FlexGrid.CheckEnum.Unchecked:
                        case C1.Win.C1FlexGrid.CheckEnum.TSUnchecked:
                            dr["chon"] = true;
                            break;
                        }
                    }
                }
            }
        }
Example #2
0
        // ** overrides

        // get data for display (evaluates formulas)
        public override string GetDataDisplay(int row, int col, out System.Drawing.Image img, out C1.Win.C1FlexGrid.CheckEnum chk)
        {
            // no image, no checkbox
            img = null;
            chk = C1.Win.C1FlexGrid.CheckEnum.None;

            // get raw value
            object val = null;

            try
            {
                val = Evaluate(row, col);
            }
            catch (Exception x)
            {
                val = "ERR: " + x.Message;
            }

            // apply cell format
            var ifmt = val as IFormattable;

            if (ifmt != null)
            {
                var s   = GetCellStyleDisplay(row, col);
                var fmt = !string.IsNullOrEmpty(s.Format)
                    ? s.Format
                    : "#,##0.#########"; // set default precision to 9 digits
                val = ifmt.ToString(fmt, CultureInfo.CurrentCulture);
            }
            else
            {
                // remove leading quotes (as Excel)
                var text = val as string;
                if (!string.IsNullOrEmpty(text) && text[0] == '\'')
                {
                    val = text.Substring(1);
                }
            }

            // done
            return(val != null?val.ToString() : null);
        }