コード例 #1
0
        public bool[] GetCheckedValues(GridViewExt grid)
        {
            int columnIndex = grid.Columns.IndexOf(this);

            bool[] values = new bool[grid.Rows.Count];
            for (int i = 0; i < values.Length; i++)
            {
                foreach (Control control in grid.Rows[i].Cells[columnIndex].Controls)
                {
                    CheckBox chk = control as CheckBox;
                    if (chk != null)
                    {
                        values[i] = chk.Checked;
                        break;
                    }
                }
            }
            return(values);
        }
コード例 #2
0
        /// <summary>
        /// Exporta la informaci de un dataGridView a Excel
        /// </summary>
        /// <param name="dataGridView">DataGridView de origen</param>
        /// <param name="pFullPath_toExport">Ruta del archivo exportado</param>
        /// <param name="nameSheet">Nombre de la hoja</param>
        /// <param name="showExcel">Mostrar excel?</param>
        public void dataGridView2Excel(DataGridView dataGridView, string pFullPath_toExport, string nameSheet)
        {
            Object obj = dataGridView.DataSource;

            System.Data.DataTable dt = new System.Data.DataTable();

            //update by I.TYOU 20141031 カスタム改ページグリッド「GridViewExt」の対応 start
            ////Obtener un datatable del datagridview
            //if(dataGridView.DataSource is DataSet)
            //{
            //    if (((System.Data.DataSet)dataGridView.DataSource).Tables.Count > 0)
            //        dt = ((System.Data.DataSet)dataGridView.DataSource).Tables[0];
            //    else
            //        dt = new System.Data.DataTable();
            //}
            //else if(dataGridView.DataSource is System.Data.DataTable)
            //{
            //    dt = (System.Data.DataTable)dataGridView.DataSource;
            //}
            //else if (dataGridView.DataSource is ArrayList)
            //{
            //    ArrayList arr = (ArrayList)dataGridView.DataSource;
            //    dt = ArrayListToDataTable(arr);

            //}

            if (dataGridView is GridViewExt)
            {
                GridViewExt gve = dataGridView as GridViewExt;
                dt = getDataSource(gve.DreamDataSoure);
            }
            else
            {
                dt = getDataSource(dataGridView.DataSource);
            }
            //update by I.TYOU 20141031 カスタム改ページグリッド「GridViewExt」の対応 end
            //DataTable2Excel(dt, dataGridView, pFullPath_toExport, nameSheet);
            ExcelManager.DataTable2Excel(dt, pFullPath_toExport, nameSheet);
        }
コード例 #3
0
 public Array GetValues(GridViewExt grid)
 {
     return(GetCheckedValues(grid));
 }
コード例 #4
0
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            if (DesignMode)
            {
                return;
            }

            Panel panel = new Panel();

            Controls.Add(panel);
            panel.Style["position"] = "relative";

            // Filters' list
            collapseImage    = new Image();
            collapseImage.ID = "collapseImageID";
            panel.Controls.Add(collapseImage);
            collapseImage.Style["position"] = "absolute";
            collapseImage.Style["right"]    = "4px";
            collapseImage.Style["top"]      = "0px";
            collapseImage.Style["cursor"]   = "hand";
            collapseImage.Style["z-index"]  = "1";


            Panel filterContainerPanel = new Panel();

            filterContainerPanel.ID = "filterContaiterPanelID";
            panel.Controls.Add(filterContainerPanel);
            filterContainerPanel.GroupingText = LookupControlsResources.SFilterCriteria;

            columnFilterList    = GetColumnFilterList();
            columnFilterList.ID = "columnFilterListID";
            columnFilterList.ColumnFilterListCreating += ColumnFilterList_OnColumnFilterListCreating;

            columnFilterList.PopupBehaviorParentNode = ClientID;
            filterContainerPanel.Controls.Add(columnFilterList);
            columnFilterList.DataSourceID            = dataSourceID;
            columnFilterList.DataSource              = dataSource;
            columnFilterList.ShowFullBriefViewButton = showFullBriefViewButton;

            CollapsiblePanelExtender collapsiblePanelExtender = new CollapsiblePanelExtender();

            panel.Controls.Add(collapsiblePanelExtender);
            collapsiblePanelExtender.TargetControlID   = filterContainerPanel.ID;
            collapsiblePanelExtender.ExpandControlID   = collapseImage.ID;
            collapsiblePanelExtender.CollapseControlID = collapseImage.ID;
            collapsiblePanelExtender.ImageControlID    = collapseImage.ID;

            collapsiblePanelExtender.CollapsedImage =
                Page.ClientScript.GetWebResourceUrl(GetType(), "Nat.Web.Controls.Lookup.control_fastforward_blue.png");
            collapsiblePanelExtender.ExpandedImage =
                Page.ClientScript.GetWebResourceUrl(GetType(), "Nat.Web.Controls.Lookup.control_rewind_blue.png");

            collapsiblePanelExtender.ExpandedText  = LookupControlsResources.SHideFilter;
            collapsiblePanelExtender.CollapsedText = LookupControlsResources.SShowFilter;
            collapsiblePanelExtender.CollapsedSize = 17;

            // UpdatePanel for GridView
            updatePanel            = new UpdatePanel();
            updatePanel.ID         = "updatePanelID";
            updatePanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
            panel.Controls.Add(updatePanel);

            // HiddenField
            hiddenField    = new HiddenField();
            hiddenField.ID = "hiddenFieldID";
            //panel.Controls.Add(hiddenField);
            updatePanel.ContentTemplateContainer.Controls.Add(hiddenField);
            hiddenField.ValueChanged += HiddenField_OnValueChanged;


            // GridView
            gridContainerPanel    = new Panel();
            gridContainerPanel.ID = "gridContainerPanelID";
            updatePanel.ContentTemplateContainer.Controls.Add(gridContainerPanel);
            gridContainerPanel.Style["clear"] = "both";

            gridPanel    = new Panel();
            gridPanel.ID = "gridPanelID";
            gridContainerPanel.Controls.Add(gridPanel);
            gridPanel.ScrollBars = ScrollBars.Auto;
            gridPanel.Height     = GridHeight;


            gridView                          = new GridViewExt();
            gridView.ID                       = "gridViewID";
            gridView.DataKeyNames             = dataKeyNames;
            gridView.UseDeleteField           = allowMultiSelectColumn;
            gridView.DeleteFieldColumnCaption = multiSelectColumnCaption;

            gridView.DataSourceID = "666";
            gridView.DataSourceID = "";

            gridView.DataSourceID = dataSourceID;
            gridView.DataSource   = dataSource;

            gridPanel.Controls.Add(gridView);
            gridView.EmptyDataText = EmptyDataText;

            gridView.AllowSorting                  = allowSorting;
            gridView.PageIndexChanged             += GridView_OnPageIndexChanged;
            gridView.Sorted                       += GridView_OnSorted;
            gridView.PagerSettings.Mode            = PagerButtons.NumericFirstLast;
            gridView.PagerSettings.PageButtonCount = 5;
            gridView.DataBound                    += GridView_OnDataBound;

            gridViewExtender    = new GridViewExtender();
            gridViewExtender.ID = "gridViewExtenderID";
            gridPanel.Controls.Add(gridViewExtender);
            gridViewExtender.TargetControlID     = gridView.ID;
            gridViewExtender.DataDisableRowField = dataDisableRowField;
            gridViewExtender.ConditionValue      = conditionValue;

            // Hidden apply filter button
            applyButton    = new Button();
            applyButton.ID = "applyButtonID";
            updatePanel.ContentTemplateContainer.Controls.AddAt(0, applyButton);
            applyButton.Click           += ApplyButton_OnClick;
            applyButton.Text             = "Apply Filter";
            applyButton.Style["float"]   = "right";
            applyButton.Style["display"] = "none";
        }
コード例 #5
0
        protected virtual void CreateGridView()
        {
            if (_storage == null)
            {
                throw new NullReferenceException("ColumnFilterStorage must be specified");
            }

            var table = new Table();

            Controls.Add(table);
            table.Width = Width;
            table.Style["table-layout"] = "fixed";
            //table.CssClass = "ms-gridtext";
            table.Rows.Add(new TableRow());
            table.Rows[0].Cells.Add(
                new TableCell
            {
                Text            = string.Format("<div style='width:170px;'>{0}</div>", GetStorage().Caption),
                Width           = Unit.Pixel(170),
                HorizontalAlign = HorizontalAlign.Right,
            });
            table.Rows[0].Cells.Add(new TableCell {
                Width = Unit.Percentage(100)
            });
            table.Rows[0].Cells[0].Style["padding-right"] = "6px";
            table.Rows[0].Cells[1].Style["padding-right"] = "6px";

            DataTable filterRefTable = DataSourceHelper.GetDataTable(DataSource);

            panel = new Panel();

            panel.ID          = "panel_ID";
            panel.Width       = Unit.Percentage(100);
            panel.Height      = PanelHeight;
            panel.ScrollBars  = ScrollBars.Auto;
            panel.BorderWidth = 1;
            panel.BorderColor = Color.LightGray;
            table.Rows[0].Cells[1].Controls.Add(panel);

            Initialization();

            panel.Controls.Add(tableDataSource);
            gridViewExt                       = new GridViewExt();
            gridViewExt.ID                    = "gridViewExt_ID";
            gridViewExt.DataKeyNames          = new string[] { ValueMember };
            gridViewExt.AutoGenerateColumns   = false;
            gridViewExt.AllowNewButtonForTree = false;
            gridViewExt.Height                = Unit.Percentage(100);
            gridViewExt.Width                 = Unit.Percentage(100);
            gridViewExt.EmptyDataText         = Resources.SEmptyDataText;
            gridViewExt.UseDeleteField        = true;
            gridViewExt.AllowPaging           = (bool)(DataSetResourceManager.GetTableExtProperty(filterRefTable, TableExtProperties.ALLOW_PAGING) ?? true);
            if ((Boolean)(DataSetResourceManager.GetTableExtProperty(filterRefTable, TableExtProperties.IS_TREE_REF) ?? false))
            {
                gridViewExt.AllowPaging  = false;
                gridViewExt.ShowAsTree   = true;
                gridViewExt.RelationName = DataSetResourceManager.GetTableExtProperty(
                    filterRefTable, TableExtProperties.TREE_REF_RELATION).ToString();
            }

            tableDataSource.View.EnablePaging = gridViewExt.AllowPaging;
            gridViewExt.DataSourceID          = tableDataSource.ID;
            foreach (DataColumn dc in tableDataSource.Table.Columns)
            {
                Boolean showColumn     = (Boolean)(DataSetResourceManager.GetColumnExtProperty(dc, ColumnExtProperties.VISIBLE) ?? false);
                string  visibleCulture = (string)(DataSetResourceManager.GetColumnExtProperty(dc, ColumnExtProperties.VISIBLE_CULTURE));
                if (showColumn && (string.IsNullOrEmpty(visibleCulture) || System.Threading.Thread.CurrentThread.CurrentUICulture.Name == visibleCulture))
                {
                    String columnCaption = (String)(DataSetResourceManager.GetColumnExtProperty(dc, ColumnExtProperties.CAPTION) ?? dc.Caption);

                    BoundField boundField = new BoundField();
                    boundField.DataField          = dc.ColumnName;
                    boundField.HeaderText         = columnCaption;
                    boundField.HeaderStyle.Height = new Unit(25, UnitType.Pixel);
                    boundField.SortExpression     = dc.ColumnName;
                    Boolean htmlEncode = (Boolean)(DataSetResourceManager.GetColumnExtProperty(dc, ColumnExtProperties.HTML_ENCODED) ?? false);
                    boundField.HtmlEncode = htmlEncode;
                    gridViewExt.Columns.Add(boundField);
                }
            }

            var boundColumns = gridViewExt.Columns.OfType <BoundField>().Where(r => !string.IsNullOrEmpty(r.DataField)).ToList();

            if (boundColumns.Count == 1)
            {
                boundColumns[0].HeaderStyle.Width = new Unit(100, UnitType.Percentage);
            }

            table.Rows[0].Cells[1].Controls.Add(GetSearchPanel());

            if (gridViewExt.AllowPaging)
            {
                checkedIds = new HiddenField {
                    ID = "checkedIds"
                };
                if (_storage.Values == null || _storage.Values.Length == 0)
                {
                    checkedIds.Value = "";
                }
                else
                {
                    checkedIds.Value = string.Join(",", _storage.Values.Select(Convert.ToString).ToArray());
                }
                Controls.Add(checkedIds);
            }

            panel.Controls.Add(gridViewExt);

            var searchValue = Page.Request.Params[QuickSearchTextBox.UniqueID];

            if (!string.IsNullOrEmpty(searchValue) && gridViewExt.AllowPaging)
            {
                var searchCondition = new QueryCondition
                {
                    Conditions =
                        new QueryConditionList
                    {
                        ConditionJunction = ConditionJunction.Or
                    }
                };
                foreach (DataColumn dc in tableDataSource.Table.Columns)
                {
                    var showColumn = (Boolean)(DataSetResourceManager.GetColumnExtProperty(dc, ColumnExtProperties.VISIBLE) ?? false);
                    if (showColumn)
                    {
                        searchCondition.Conditions.Add(
                            new QueryCondition(dc.ColumnName, ColumnFilterType.Contains, searchValue, null));
                    }
                }

                tableDataSource.View.CustomConditions.Add(searchCondition);
            }

            if (checkedIds != null)
            {
                var checkedField = (CheckedField)gridViewExt.GetIGridColumn("cfDelete");
                checkedField.OnChanged    = string.Format("{0}(this);", GetCheckChangedFunctionName());
                checkedField.OnChangedAll = string.Format("{0}(this);", GetCheckChangedAllFunctionName());
            }
        }
コード例 #6
0
 public Array GetValues(GridViewExt grid)
 {
     throw new NotImplementedException();
 }