示例#1
0
        private TSGrid GetGridConfig()
        {
            TSGrid hsGrid = new TSGrid
            {
                Columns = new List <TSGridColumn>()
            };

            TSGridColumn col1 = new TSGridColumn
            {
                Name       = "name",
                Text       = "Name",
                ColumnType = TSGridColumnType.Text,
                ValueType  = Model.Data.DataValueType.String,
                Width      = 60,
                Visible    = 1
            };

            hsGrid.Columns.Add(col1);


            TSGridColumn col2 = new TSGridColumn
            {
                Name       = "combobox",
                Text       = "ComboBox",
                ColumnType = TSGridColumnType.ComboBox,
                ValueType  = Model.Data.DataValueType.String,
                Width      = 60,
                Visible    = 1
            };

            hsGrid.Columns.Add(col2);

            return(hsGrid);
        }
示例#2
0
 //-------------------------------------------------------
 public TSScript(TSGrid g)
 {
     tsg = g;
     tsd = g.tsd;
     sel = g.sel;
     ChkScriotFolder();
 }
示例#3
0
        private Model.Data.DataTable GenerateData(TSGrid hsGrid)
        {
            Model.Data.DataTable dataTable = new Model.Data.DataTable();
            dataTable.Rows        = new List <Model.Data.DataRow>();
            dataTable.ColumnIndex = new Dictionary <string, int>();
            Random rand = new Random();

            for (int i = 0, count = 15; i < count; i++)
            {
                Model.Data.DataRow dataRow = new Model.Data.DataRow();
                dataRow.Columns = new List <Model.Data.DataValue>();

                for (int j = 0; j < hsGrid.Columns.Count; j++)
                //foreach (var column in hsGrid.Columns)
                {
                    var column = hsGrid.Columns[j];
                    Model.Data.DataValue dataValue = new Model.Data.DataValue();
                    dataValue.Type = column.ValueType;
                    switch (column.ValueType)
                    {
                    case Model.Data.DataValueType.Int:
                    {
                        dataValue.Value = rand.Next(500);
                    }
                    break;

                    case Model.Data.DataValueType.Float:
                    {
                        dataValue.Value = 100 * rand.NextDouble();
                    }
                    break;

                    case Model.Data.DataValueType.String:
                    {
                        dataValue.Value = string.Format("STR-{0}", rand.Next(120));
                    }
                    break;

                    default:
                        break;
                    }

                    if (i == 0)
                    {
                        if (!dataTable.ColumnIndex.ContainsKey(column.Name))
                        {
                            dataTable.ColumnIndex.Add(column.Name, j);
                        }
                    }

                    dataRow.Columns.Add(dataValue);
                }

                dataTable.Rows.Add(dataRow);
            }

            return(dataTable);
        }
示例#4
0
        private void Form_Load(object sender, EventArgs e)
        {
            GridConfig gridConfig = ConfigManager.Instance.GetGridConfig();
            TSGrid     hsGrid     = gridConfig.GetGid("templatestock");

            TSDataGridViewHelper.AddColumns(this.tsDataGridView1, hsGrid);
            var dataTable = GenerateData(hsGrid);

            //TSDataGridViewHelper.SetData(this.tsDataGridView1, hsGrid, dataTable);
        }
示例#5
0
        public TSGrid GetGid(string name)
        {
            TSGrid targetGrid = new TSGrid();
            var    target     = _grids.Find(p => p.Grid.Equals(name));

            if (target != null)
            {
                targetGrid = target;
            }

            return(targetGrid);
        }
示例#6
0
        private void Form_Load(object sender, EventArgs e)
        {
            GridConfig gridConfig = ConfigManager.Instance.GetGridConfig();
            TSGrid     hsGrid     = gridConfig.GetGid("templatestock");

            TSDataGridViewHelper.AddColumns(this.tsDataGridView1, hsGrid);
            Dictionary <string, string> colFieldMap = GridViewBindingHelper.GetPropertyBinding(typeof(TemplateStock));

            TSDataGridViewHelper.SetDataBinding(this.tsDataGridView1, colFieldMap);
            var stocks = GenerateData(hsGrid);

            _tempStocks = new SortableBindingList <TemplateStock>(stocks);
            this.tsDataGridView1.DataSource = _tempStocks;
        }
示例#7
0
        private List <TemplateStock> GenerateData(TSGrid hsGrid)
        {
            List <TemplateStock> tempStocks = new List <TemplateStock>();
            TemplateStock        item1      = new TemplateStock
            {
                TemplateNo      = 1,
                SecuCode        = "000001",
                SecuName        = "中国平安",
                Amount          = 10200,
                Exchange        = "深圳交易所",
                MarketCap       = 652121.24,
                MarketCapWeight = 20.25,
                SettingWeight   = 20.0
            };

            tempStocks.Add(item1);

            TemplateStock item2 = new TemplateStock
            {
                TemplateNo      = 1,
                SecuCode        = "000002",
                SecuName        = "万科A",
                Amount          = 7500,
                Exchange        = "深圳交易所",
                MarketCap       = 252102.74,
                MarketCapWeight = 12.25,
                SettingWeight   = 13.0
            };

            tempStocks.Add(item2);

            TemplateStock item3 = new TemplateStock
            {
                TemplateNo      = 1,
                SecuCode        = "600519",
                SecuName        = "贵州茅台",
                Amount          = 12100,
                Exchange        = "上海交易所",
                MarketCap       = 4200125.02,
                MarketCapWeight = 30.31,
                SettingWeight   = 30.0
            };

            tempStocks.Add(item3);

            return(tempStocks);
        }
示例#8
0
        private TSGrid GetGridConfig()
        {
            TSGrid hsGrid = new TSGrid
            {
                Columns = new List <TSGridColumn>()
            };

            TSGridColumn col1 = new TSGridColumn
            {
                Name       = "name",
                Text       = "Name",
                ColumnType = TSGridColumnType.Text,
                ValueType  = Model.Data.DataValueType.String,
                Width      = 60,
                Visible    = 1
            };

            hsGrid.Columns.Add(col1);


            TSGridColumn col2 = new TSGridColumn
            {
                Name       = "id",
                Text       = "Id",
                ColumnType = TSGridColumnType.Text,
                ValueType  = Model.Data.DataValueType.String,
                Width      = 60,
                Visible    = 1
            };

            hsGrid.Columns.Add(col2);

            TSGridColumn col3 = new TSGridColumn
            {
                Name       = "age",
                Text       = "Age",
                ColumnType = TSGridColumnType.NumericUpDown,
                ValueType  = Model.Data.DataValueType.Int,
                Width      = 60,
                Visible    = 1
            };

            hsGrid.Columns.Add(col3);

            return(hsGrid);
        }
示例#9
0
        public static TSGrid GetGridConfig()
        {
            TSGrid hsGrid = new TSGrid
            {
                Columns = new List <TSGridColumn>()
            };

            TSGridColumn col1 = new TSGridColumn
            {
                Name       = "name",
                Text       = "Name",
                ColumnType = TSGridColumnType.Text,
                ValueType  = Model.Data.DataValueType.String,
                Width      = 60,
                Visible    = 1
            };

            hsGrid.Columns.Add(col1);


            TSGridColumn col2 = new TSGridColumn
            {
                Name       = "id",
                Text       = "Id",
                ColumnType = TSGridColumnType.ComboBox,
                ValueType  = Model.Data.DataValueType.String,
                Width      = 120,
                Visible    = 1
            };

            hsGrid.Columns.Add(col2);

            TSGridColumn col3 = new TSGridColumn
            {
                Name       = "id_source",
                Text       = "IdSource",
                ColumnType = TSGridColumnType.Text,
                ValueType  = Model.Data.DataValueType.String,
                Width      = 60,
                Visible    = 0
            };

            hsGrid.Columns.Add(col3);

            return(hsGrid);
        }
示例#10
0
        private void Form_Load(object sender, EventArgs e)
        {
            TSGrid hsGrid = GetGridConfig();

            TSDataGridViewHelper.AddColumns(this.tsDataGridView1, hsGrid);
            Dictionary <string, string> columnMap = GridViewBindingHelper.GetPropertyBinding(typeof(NumericItem));

            TSDataGridViewHelper.SetDataBinding(this.tsDataGridView1, columnMap);
            this.tsDataGridView1.DataSource = _dataSource;

            //Load Data
            var listData = GetData();

            foreach (var item in listData)
            {
                _dataSource.Add(item);
            }
        }
示例#11
0
        private void Form_Load(object sender, EventArgs e)
        {
            TSGrid hsGrid = CBRowItemHelper.GetGridConfig();

            TSDataGridViewHelper.AddColumns(this.tsDataGridView1, hsGrid);

            var listData = CBRowItemHelper.GetData();

            for (int i = 0; i < listData.Count; i++)
            {
                int rowIndex = this.tsDataGridView1.Rows.Add();
                var rowData  = listData[i];
                foreach (var column in hsGrid.Columns)
                {
                    var row  = this.tsDataGridView1.Rows[rowIndex];
                    var cell = row.Cells[column.Name];
                    switch (column.Name)
                    {
                    case "name":
                    {
                        cell.Value = rowData.Name;
                    }
                    break;

                    case "id":
                    {
                        var cbCell = (DataGridViewComboBoxCell)cell;
                        cbCell.DisplayMember = "Text";
                        cbCell.ValueMember   = "Id";
                        foreach (var item in rowData.IdSource.Items)
                        {
                            cbCell.Items.Add(item);
                        }
                        cbCell.Value = cbCell.Items[0];
                    }
                    break;

                    default:
                        break;
                    }
                }
            }
        }
示例#12
0
        private void Form_Load(object sender, EventArgs e)
        {
            TSGrid hsGrid = GetGridConfig();

            TSDataGridViewHelper.AddColumns(this.tsDataGridView1, hsGrid);

            Dictionary <string, string> columnMap = GridViewBindingHelper.GetPropertyBinding(typeof(TSDGVCbItem));

            TSDataGridViewHelper.SetDataBinding(this.tsDataGridView1, columnMap);
            //List<ComboOptionItem> cbItems = new List<ComboOptionItem>() { "Cb1", "Cb2", "Cb3", "Cb4" };
            ComboOption cbOption = GetComboBoxData();

            TSDataGridViewHelper.SetDataBinding(this.tsDataGridView1, "combobox", cbOption);
            this.tsDataGridView1.DataSource = _dataSource;

            //Load Data
            var listData = GetData();

            foreach (var item in listData)
            {
                _dataSource.Add(item);
            }
        }
示例#13
0
        public static void AddColumns(TSDataGridView dgv, TSGrid hsGrid)
        {
            if (dgv == null)
            {
                throw new ArgumentNullException("dgv");
            }
            if (hsGrid == null)
            {
                throw new ArgumentNullException("hsGrid");
            }

            List <TSGridColumn> columns = hsGrid.Columns;

            DataGridViewColumn[] gridColumns = new DataGridViewColumn[columns.Count];
            for (int i = 0, count = columns.Count; i < count; i++)
            {
                TSGridColumn col = columns[i];

                DataGridViewColumn column = null;
                switch (col.ColumnType)
                {
                case TSGridColumnType.CheckBox:
                {
                    column = new DataGridViewCheckBoxColumn();
                }
                break;

                case TSGridColumnType.Image:
                {
                    column     = new DataGridViewImageColumn();
                    column.Tag = col.DefaultValue;
                }
                break;

                case TSGridColumnType.Text:
                {
                    column = new DataGridViewTextBoxColumn();
                }
                break;

                case TSGridColumnType.ComboBox:
                {
                    column = new DataGridViewComboBoxColumn();
                }
                break;

                case TSGridColumnType.NumericUpDown:
                {
                    var numericCell = new DataGridViewNumericUpDownColumn();
                    numericCell.Minimum   = 0;
                    numericCell.Increment = 1;
                    numericCell.Maximum   = 100;

                    column = numericCell;
                }
                break;

                default:
                {
                    column = new DataGridViewTextBoxColumn();
                }
                break;
                }

                if (col.ValueType == DataValueType.Float)
                {
                    column.DefaultCellStyle.Format = "##0.000";
                }

                column.HeaderText = col.Text;
                column.Name       = col.Name;
                column.Width      = col.Width;
                column.ReadOnly   = (col.ReadOnly != 0) ? true : false;
                column.Visible    = (col.Visible != 0) ? true : false;
                gridColumns[i]    = column;

                if (hsGrid.Background == 1 && column.ReadOnly)
                {
                    column.DefaultCellStyle.BackColor = Color.FromArgb(244, 243, 234);
                }
            }

            dgv.Columns.AddRange(gridColumns);
        }
示例#14
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //Check For Logon Class
            if (HttpContext.Current.Session["LogonInfo"] != null)
            {
                //Get Logon Info From Session
                _oLogon = ((LogonObject)HttpContext.Current.Session["LogonInfo"]);

                //Add Use ID TO Session
                HttpContext.Current.Session.Add("UserID", _oLogon.UserID);

                //Load Form Permissions
                if (FormSetup(_oLogon.UserID))
                {
                    //Setup Buttons
                    Master.ShowSaveButton        = false;
                    Master.ShowNewButton         = _userCanAdd;
                    Master.ShowEditButton        = _userCanEdit;
                    Master.ShowDeleteButton      = _userCanDelete;
                    Master.ShowViewButton        = _userCanView;
                    Master.ShowPrintButton       = true;
                    Master.ShowPdfButton         = false;
                    Master.ShowXlsButton         = true;
                    Master.ShowMultiSelectButton = _userCanDelete;
                }
            }

            //Check For Post Back
            if (!IsPostBack)
            {
                //Bind Grid
                TSGrid.DataBind();
            }
            else
            {
                var scriptManager = ScriptManager.GetCurrent(Page);
                if (scriptManager != null && scriptManager.IsInAsyncPostBack)
                {
                }

                //Get Control That Caused Post Back
                var controlName = Request.Params.Get("__EVENTTARGET");

                //Check For Null
                if (!string.IsNullOrEmpty(controlName))
                {
                    //Determing What To Do
                    switch (controlName.Replace("ctl00$Footer$", ""))
                    {
                    case "NewButton":
                    {
                        //Call View Routine
                        AddNewRow();
                        break;
                    }

                    case "EditButton":
                    {
                        //Call View Routine
                        EditSelectedRow();
                        break;
                    }

                    case "DeleteButton":
                    {
                        //Call View Routine
                        DeleteSelectedRow();
                        break;
                    }

                    case "ViewButton":
                    {
                        //Call View Routine
                        ViewSelectedRow();
                        break;
                    }

                    case "PrintButton":
                    {
                        //Call Print Routine
                        PrintSelectedRow();
                        break;
                    }

                    case "ExportPDF":
                    {
                        //Call Export PDF Option
                        ExportPdf();
                        break;
                    }

                    case "ExportXLS":
                    {
                        //Call Export XLS Option
                        ExportXls();
                        break;
                    }

                    case "MultiSelect":
                    {
                        //Enable/Disable MultiSelect
                        EnableMultiSelect(!(TSGrid.Columns[0].Visible));
                        break;
                    }

                    default:
                    {
                        //Do Nothing
                        break;
                    }
                    }
                }
            }

            //Enable/Disable Buttons
            Master.ShowNewButton   = !(TSGrid.Columns[0].Visible);
            Master.ShowEditButton  = !(TSGrid.Columns[0].Visible);
            Master.ShowViewButton  = !(TSGrid.Columns[0].Visible);
            Master.ShowPrintButton = !(TSGrid.Columns[0].Visible);

            //Clear Prior Selection If Edit Check Is No Longer Visible
            if (!(TSGrid.Columns[0].Visible))
            {
                //Uncheck All
                TSGrid.Selection.UnselectAll();
            }
        }
示例#15
0
        /// <summary>
        /// Deletes Selected Row
        /// </summary>
        private void DeleteSelectedRow()
        {
            //Check Permissions
            if (_userCanDelete)
            {
                //Create Deletion Bool
                var deletionDone = false;

                //Create Deltion Continue Bool
                bool continueDeletion;

                //Create Deletion Key
                var recordToDelete = -1;

                //Check For Multi Selection
                if ((TSGrid.Columns[0].Visible))
                {
                    //Get Selections
                    var recordIdSelection = TSGrid.GetSelectedFieldValues("n_objtaskid");

                    //Process Multi Selection
                    foreach (var record in recordIdSelection)
                    {
                        //Get ID
                        recordToDelete = Convert.ToInt32(record.ToString());

                        //Set Continue Bool
                        continueDeletion = (recordToDelete > 0);

                        //Check Continue Bool
                        if (continueDeletion)
                        {
                            //Clear Errors
                            _objectTasks.ClearErrors();

                            //Delete Jobstep
                            if (_objectTasks.Delete(recordToDelete))
                            {
                                //Set Deletion Done
                                deletionDone = true;
                            }
                        }

                        //Check Deletion Done
                        if (deletionDone)
                        {
                            //Perform Refresh
                            TSGrid.DataBind();
                        }
                    }
                }
                else
                {
                    //Check For Job ID
                    if (Selection.Contains("n_objtaskid"))
                    {
                        //Get ID
                        recordToDelete = Convert.ToInt32(Selection.Get("n_objtaskid"));
                    }

                    //Set Continue Bool
                    continueDeletion = (recordToDelete > 0);

                    //Check Continue Bool
                    if (continueDeletion)
                    {
                        //Clear Errors
                        _objectTasks.ClearErrors();

                        //Delete Jobstep
                        if (_objectTasks.Delete(recordToDelete))
                        {
                            //Set Deletion Done
                            deletionDone = true;
                        }
                    }

                    //Check Deletion Done
                    if (deletionDone)
                    {
                        //Perform Refresh
                        TSGrid.DataBind();
                    }
                }
            }
        }
示例#16
0
        private List <TemplateStock> ExcelToGrid(Model.Data.DataTable excelData)
        {
            List <TemplateStock> stockList = new List <TemplateStock>();
            var template = GetSelectTemplate();

            if (template == null)
            {
                return(stockList);
            }

            //用于获取二维表表头名字与Excel中表头进行匹配,获取Excel DataTable中列的位置
            TSGrid hsGrid      = _gridConfig.GetGid(GridStock);
            var    gridColumns = hsGrid.Columns;

            //标签与属性名映射表
            var attFieldMap = GridViewBindingHelper.GetPropertyBinding(typeof(TemplateStock));

            //实体类标签名与Excel DataTable DataRow.Columns中列索引映射表
            Dictionary <string, int> fieldNameColumnIndexMap = new Dictionary <string, int>();

            for (int i = 0, count = gridColumns.Count; i < count; i++)
            {
                var    column   = gridColumns[i];
                string origtext = column.Text;
                string text     = origtext;
                if (text.Contains("(%)"))
                {
                    text = text.Replace("(%)", string.Empty);
                }

                if (excelData.ColumnIndex.ContainsKey(origtext))
                {
                    if (!fieldNameColumnIndexMap.ContainsKey(column.Name))
                    {
                        fieldNameColumnIndexMap.Add(column.Name, excelData.ColumnIndex[origtext]);
                    }
                }
                else if (excelData.ColumnIndex.ContainsKey(text))
                {
                    if (!fieldNameColumnIndexMap.ContainsKey(column.Name))
                    {
                        fieldNameColumnIndexMap.Add(column.Name, excelData.ColumnIndex[text]);
                    }
                }
            }

            foreach (var row in excelData.Rows)
            {
                TemplateStock stock = new TemplateStock();
                stock.TemplateNo = template.TemplateId;

                foreach (var kv in fieldNameColumnIndexMap)
                {
                    if (!attFieldMap.ContainsKey(kv.Key) || !fieldNameColumnIndexMap.ContainsKey(kv.Key))
                    {
                        continue;
                    }

                    string fieldName = attFieldMap[kv.Key];
                    int    valIndex  = fieldNameColumnIndexMap[kv.Key];

                    var field = stock.GetType().GetProperty(fieldName);
                    if (field == null || !field.CanWrite)
                    {
                        continue;
                    }

                    DataValueType valType    = DataValueType.String;
                    var           gridColomn = gridColumns.Find(p => p.Name.Equals(kv.Key));
                    if (gridColomn != null)
                    {
                        valType = gridColomn.ValueType;
                    }

                    var val = row.Columns[valIndex];
                    if (val != null)
                    {
                        switch (val.Type)
                        {
                        case DataValueType.Int:
                            field.SetValue(stock, val.GetInt());
                            break;

                        case DataValueType.Float:
                            field.SetValue(stock, val.GetDouble());
                            break;

                        case DataValueType.String:
                            if (valType == DataValueType.Int)
                            {
                                field.SetValue(stock, val.GetInt());
                            }
                            else if (valType == DataValueType.Float)
                            {
                                field.SetValue(stock, val.GetDouble());
                            }
                            else
                            {
                                field.SetValue(stock, val.GetStr());
                            }
                            break;

                        default:
                            break;
                        }
                    }
                    else
                    {
                    }
                }

                if (!string.IsNullOrEmpty(stock.SecuCode))
                {
                    var secuInfo = _securityInfoList.Find(p => p.SecuCode.Equals(stock.SecuCode) && p.SecuType == SecurityType.Stock);
                    if (secuInfo != null)
                    {
                        stock.SecuName = secuInfo.SecuName;
                        stock.Exchange = secuInfo.ExchangeCode;
                    }
                }

                stockList.Add(stock);
            }

            return(stockList);
        }
示例#17
0
 //----------------------------------------------------------------------
 public TSPref(TSGrid t)
 {
     tsg = t;
     ChkUserFolder();
 }
示例#18
0
        private Model.Data.DataTable GridToExecl(List <TemplateStock> tempStocks, out List <DataHeader> cellRanges)
        {
            TSGrid hsGrid      = _gridConfig.GetGid(GridStock);
            var    gridColumns = hsGrid.Columns;

            var sheetConfig = ConfigManager.Instance.GetImportConfig().GetSheet("stocktemplate");

            cellRanges = sheetConfig.Columns;
            var sheetColumns = ConfigManager.Instance.GetImportConfig().GetColumnHeader(cellRanges);
            Dictionary <string, DataColumnHeader> colHeadMap = new Dictionary <string, DataColumnHeader>();

            foreach (var column in sheetColumns)
            {
                //colHeadMap.Add(column.Name, column);
                var gridColumn = gridColumns.Find(p => p.Text.Equals(column.Name));
                if (gridColumn != null)
                {
                    if (!colHeadMap.ContainsKey(gridColumn.Name))
                    {
                        colHeadMap.Add(gridColumn.Name, column);
                    }
                }
            }

            //实体类标签名与Excel DataTable DataRow.Columns中列索引映射表
            Dictionary <string, int> excelNameColumnIndexMap = new Dictionary <string, int>();

            for (int i = 0, count = sheetColumns.Count; i < count; i++)
            {
                if (!excelNameColumnIndexMap.ContainsKey(sheetColumns[i].Name))
                {
                    excelNameColumnIndexMap.Add(sheetColumns[i].Name, i);
                }
            }

            Dictionary <string, int> fieldNameColumnIndexMap = new Dictionary <string, int>();

            for (int i = 0, count = gridColumns.Count; i < count; i++)
            {
                var column = gridColumns[i];
                int index  = sheetColumns.FindIndex(p => p.Name.Equals(column.Text));
                if (index >= 0)
                {
                    if (!fieldNameColumnIndexMap.ContainsKey(column.Name))
                    {
                        fieldNameColumnIndexMap.Add(column.Name, index);
                    }
                }
            }

            Model.Data.DataTable table = new Model.Data.DataTable
            {
                ColumnIndex = new Dictionary <string, int>(),
                Rows        = new List <Model.Data.DataRow>()
            };

            table.ColumnIndex = excelNameColumnIndexMap;

            var attFieldMap = GridViewBindingHelper.GetPropertyBinding(typeof(TemplateStock));

            foreach (var tempStock in tempStocks)
            {
                Model.Data.DataRow dataRow = new Model.Data.DataRow
                {
                    Columns = new List <DataValue>(new DataValue[table.ColumnIndex.Count])
                };

                foreach (var kv in attFieldMap)
                {
                    if (!attFieldMap.ContainsKey(kv.Key) || !fieldNameColumnIndexMap.ContainsKey(kv.Key))
                    {
                        continue;
                    }

                    string fieldName = attFieldMap[kv.Key];
                    int    valIndex  = fieldNameColumnIndexMap[kv.Key];

                    var field = tempStock.GetType().GetProperty(fieldName);
                    if (field == null)
                    {
                        continue;
                    }

                    Model.Data.DataValue dataValue = new DataValue();
                    if (colHeadMap.ContainsKey(kv.Key))
                    {
                        dataValue.Type = colHeadMap[kv.Key].Type;
                    }

                    dataValue.Value = field.GetValue(tempStock, null);

                    dataRow.Columns[valIndex] = dataValue;
                    if (valIndex >= 0 && valIndex < dataRow.Columns.Count)
                    {
                        dataRow.Columns[valIndex] = dataValue;
                    }
                }

                table.Rows.Add(dataRow);
            }

            return(table);
        }