Exemplo n.º 1
0
 //hàm set giá trị của 1 số kiểu datetime khi nhận vào là 1 combobox và 1 spin
 public DateTime?SetValueDatetime(SpinnerField sp, ComboBox cbb, int ngay)
 {
     if (sp.Text == "1900" || sp.Text == "" || sp.Value == null)
     {
         return(null);
     }
     if (cbb.SelectedItem.Value != null)
     {
         return(new DateTime(int.Parse(sp.Text), int.Parse(cbb.Value.ToString()), 1));
     }
     return(null);
 }
Exemplo n.º 2
0
        public static SpinnerField AddSpinnerField(string fieldName, string title, int MinValue, int MaxValue)
        {
            SpinnerField sf = new SpinnerField();

            sf.ID               = fieldName;
            sf.FieldLabel       = title;
            sf.Width            = Unit.Pixel(300);
            sf.MinValue         = MinValue;
            sf.MaxValue         = MaxValue;
            sf.AllowDecimals    = true;
            sf.DecimalPrecision = 0;
            sf.IncrementValue   = 1;
            return(sf);
        }
Exemplo n.º 3
0
    /// <summary>
    /// Load column vào GridPanel
    /// </summary>
    private void AddColumn()
    {
        if (columnList == null)
        {
            columnList = GridController.GetInstance().GetColumnInfo(this.ID, TableName, 1);
        }
        datatable = DataController.DataHandler.GetInstance().ExecuteDataTable("select top 1 * from " + TableName);

        if (columnList.FirstOrDefault() == null)
        {
            foreach (DataColumn item in datatable.Columns)
            {
                Column column = new Column();
                column.DataIndex = item.ColumnName;
                column.Header    = item.ColumnName;
                GridPanel1.ColumnModel.Columns.Add(column);
                if (item.DataType.ToString().Equals("System.DateTime"))
                {
                    column.Renderer.Fn = "GetDateFormat";
                }
                if (column.Editor.Count == 0)
                {
                    switch (GetColumnDataType(datatable, item.ColumnName))
                    {
                    case "System.Decimal":
                    case "System.Int32":
                        Ext.Net.SpinnerField spin = new SpinnerField();
                        spin.ID = item.ColumnName + "spin";
                        column.Editor.Add(spin);
                        break;

                    case "System.DateTime":
                        Ext.Net.DateField df = new Ext.Net.DateField();
                        df.ID = item.ColumnName + "datefield";
                        column.Editor.Add(df);
                        break;

                    case "System.String":
                        Ext.Net.TextField text = new Ext.Net.TextField();
                        text.ID = item.ColumnName + "string";
                        column.Editor.Add(text);
                        break;

                    case "System.Boolean":
                        Ext.Net.Checkbox chk = new Checkbox();
                        chk.ID = item.ColumnName + "chk";
                        column.Editor.Add(chk);
                        break;
                    }
                }
            }
        }
        else
        {
            string listener    = "";
            bool   hasComboBox = false;
            foreach (GridPanelColumnInfo columnInfo in columnList)
            {
                Column column = new Column();
                column.DataIndex = columnInfo.ColumnName;
                column.Header    = columnInfo.ColumnHeader;
                if (columnInfo.Width.HasValue && columnInfo.Width != 0)
                {
                    column.Width = columnInfo.Width.Value;
                }
                GridPanel1.ColumnModel.Columns.Add(column);
                if (string.IsNullOrEmpty(columnInfo.RenderJS) == false)
                {
                    column.Renderer.Fn = columnInfo.RenderJS;
                }
                if (columnInfo.AllowComboBoxOnGrid && string.IsNullOrEmpty(columnInfo.TableName) == false)
                {
                    hasComboBox = true;
                    Ext.Net.ComboBox cbBox = new ComboBox();
                    cbBox.LoadingText     = "Đang tải...";
                    cbBox.ID              = "combo" + columnInfo.ColumnName;
                    cbBox.DisplayField    = "displayField";
                    cbBox.ValueField      = "valueField";
                    cbBox.EnableViewState = false;
                    column.Editor.Add(cbBox);
                    Store store = CreateStore(cbBox.ID);
                    cbBox.Store.Add(store);
                    storeList.Add(new StoreDaTa(store, columnInfo.ComboBoxTable, columnInfo.DisplayFieldComboBox, columnInfo.ValueFieldComboBox, columnInfo.WhereFilterComboBox, columnInfo.ColumnName, columnInfo.MasterColumnComboID.Value, columnInfo.ID));

                    if (columnInfo.MasterColumnComboID.HasValue && columnInfo.MasterColumnComboID.Value != 0)
                    {
                        GridPanelColumnInfo col = columnList.Where(p => p.ID == columnInfo.MasterColumnComboID.Value).FirstOrDefault();
                        if (col != null)
                        {
                            listener += string.Format("case \"{0}\": this.getColumnModel().getCellEditor(e.column, e.row).field.allQuery = e.record.get('{1}');break;", columnInfo.ColumnName, col.ColumnName);
                        }
                    }
                }
                if (column.Editor.Count == 0)
                {
                    switch (columnInfo.DataType)
                    {
                    case "System.Decimal":
                    case "System.Int32":
                        Ext.Net.SpinnerField spin = new SpinnerField();
                        spin.ID = columnInfo.ColumnName + "spin";
                        column.Editor.Add(spin);
                        break;

                    case "System.DateTime":
                        Ext.Net.DateField df = new Ext.Net.DateField();
                        df.ID = columnInfo.ColumnName + "datefield";
                        column.Editor.Add(df);
                        break;

                    case "System.String":
                        Ext.Net.TextField text = new Ext.Net.TextField();
                        text.ID = columnInfo.ColumnName + "string";
                        column.Editor.Add(text);
                        break;

                    case "System.Boolean":
                        Ext.Net.Checkbox chk = new Checkbox();
                        chk.ID = columnInfo.ColumnName + "chk";
                        column.Editor.Add(chk);
                        break;
                    }
                }
            }
            if (!string.IsNullOrEmpty(listener))
            {
                GridPanel1.Listeners.BeforeEdit.Handler = "switch (e.field) {" + listener + "}";
            }
            if (hasComboBox)
            {
                GridPanel1.Listeners.AfterEdit.Handler   = Store1.ClientID + ".commitChanges();";
                GridPanel1.DirectEvents.AfterEdit.Event += new ComponentDirectEvent.DirectEventHandler(AfterEdit_Event);
                GridPanel1.DirectEvents.AfterEdit.ExtraParams.Add(new Ext.Net.Parameter("id", "e.record.id", ParameterMode.Raw));
                GridPanel1.DirectEvents.AfterEdit.ExtraParams.Add(new Ext.Net.Parameter("field", "e.field", ParameterMode.Raw));
                GridPanel1.DirectEvents.AfterEdit.ExtraParams.Add(new Ext.Net.Parameter("record", "e.record.data", ParameterMode.Raw, true));
                GridPanel1.DirectEvents.AfterEdit.ExtraParams.Add(new Ext.Net.Parameter("value", "e.value", ParameterMode.Raw));
            }
        }
    }
Exemplo n.º 4
0
    public void ClearControl(Control control, bool setcolor)
    {
        TextField     tf  = control as TextField;
        NumberField   nf  = control as NumberField;
        TextArea      ta  = control as TextArea;
        SpinnerField  sf  = control as SpinnerField;
        Checkbox      cb  = control as Checkbox;
        DropDownField ddf = control as DropDownField;
        ComboBox      cbb = control as ComboBox;
        DateField     df  = control as DateField;
        TriggerField  tgf = control as TriggerField;
        MultiCombo    mc  = control as MultiCombo;

        if (setcolor)
        {
            if (tgf != null)
            {
                tgf.Reset(); tgf.StyleSpec = "color:black";
            }
            if (df != null)
            {
                df.Reset();
                df.Call("setMaxValue", null);
                df.Call("setMinValue", null);
                df.StyleSpec = "color:black";
            }
            if (mc != null)
            {
                mc.Reset(); mc.StyleSpec = "color:black";
            }
            if (cbb != null)
            {
                cbb.Reset(); cbb.StyleSpec = "color:black";
            }
            if (ddf != null)
            {
                ddf.Reset(); ddf.StyleSpec = "color:black";
            }
            if (cb != null)
            {
                cb.Reset(); cb.StyleSpec = "color:black";
            }
            if (sf != null)
            {
                sf.Reset(); sf.StyleSpec = "color:black";
            }
            if (ta != null)
            {
                ta.Reset(); ta.StyleSpec = "color:black";
            }
            if (nf != null)
            {
                nf.Reset(); nf.StyleSpec = "color:black";
            }
            if (tf != null)
            {
                tf.Reset(); tf.StyleSpec = "color:black";
            }
            if (control.HasControls())
            {
                foreach (Control child in control.Controls)
                {
                    ClearControl(child, setcolor);
                }
            }
        }
        else
        {
            if (tgf != null)
            {
                tgf.Reset();
            }
            if (df != null)
            {
                df.Reset();
                df.Call("setMaxValue", null);
                df.Call("setMinValue", null);
            }
            if (mc != null)
            {
                mc.Reset();
            }
            if (cbb != null)
            {
                cbb.Reset();
            }
            if (ddf != null)
            {
                ddf.Reset();
            }
            if (cb != null)
            {
                cb.Reset();
            }
            if (sf != null)
            {
                sf.Reset();
            }
            if (ta != null)
            {
                ta.Reset();
            }
            if (nf != null)
            {
                nf.Reset();
            }
            if (tf != null)
            {
                tf.Reset();
            }
            if (control.HasControls())
            {
                foreach (Control child in control.Controls)
                {
                    ClearControl(child, setcolor);
                }
            }
        }
    }