Example #1
0
 protected void btnUpdateColumnTable_Click(object sender, DirectEventArgs e)
 {
     try
     {
         DataTable table      = DataHandler.GetInstance().ExecuteDataTable("select top 1 * from " + this.TableName);
         string[]  columnName = txtSelectedColumnName.Text.Split(',');
         foreach (string item in columnName)
         {
             if (string.IsNullOrEmpty(item) == false)
             {
                 GridPanelColumnInfo columnInfo = new GridPanelColumnInfo(0, this.TableName, this.GridPanelName, item, item, 100, 0, true, "", true, false, "", "", "", 0, "", table.Columns[item].DataType.ToString(), true, false);
                 GridController.GetInstance().InsertColumnInformation(columnInfo);
             }
         }
         LoadColumnTable();
         if (AfterCreateNewColumn != null)
         {
             AfterCreateNewColumn(this, null);
         }
     }
     catch (Exception ex)
     {
         Dialog.ShowNotification(ex.Message);
     }
 }
Example #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnUpdateComboBox_Click(object sender, DirectEventArgs e)
        {
            try
            {
                if (RowSelectionModel2.SelectedRow != null)
                {
                    GridPanelColumnInfo col = GridController.GetInstance()
                                              .GetColumnInfo(int.Parse(RowSelectionModel2.SelectedRow.RecordID));
                    col.ComboBoxTable        = cbTableComboBox.GetValue().ToString();
                    col.DisplayFieldComboBox = cbDisplayColumn.GetValue().ToString();
                    col.ValueFieldComboBox   = cbValueColumn.GetValue().ToString();
                    col.WhereFilterComboBox  = txtWhereFilter.Text;
                    if (!string.IsNullOrEmpty(cbMasterColumnID.SelectedItem.Value))
                    {
                        col.MasterColumnComboID = int.Parse(cbMasterColumnID.SelectedItem.Value);
                    }

                    col.AllowComboBoxOnGrid = true;
                    GridController.GetInstance().UpdateColumnInformation(col);
                    wdSetComboBoxOnGrid.Hide();
                }
            }
            catch (Exception ex)
            {
                Dialog.ShowError(ex.Message);
            }
        }
Example #3
0
    protected void btnConfigComboBox_Click(object sender, DirectEventArgs e)
    {
        GridPanelColumnInfo col = GridController.GetInstance().GetColumnInfo(int.Parse(RowSelectionModel2.SelectedRow.RecordID));

        cbTableComboBox.SetValue(col.ComboBoxTable);
        cbDisplayColumn.SetValue(col.DisplayFieldComboBox);
        cbValueColumn.SetValue(col.ValueFieldComboBox);
        txtWhereFilter.Text = col.WhereFilterComboBox;
        if (col.MasterColumnComboID.Value != 0)
        {
            hdfColumnID.Value = col.MasterColumnComboID;
        }
        wdSetComboBoxOnGrid.Show();
    }
Example #4
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));
            }
        }
    }