Пример #1
0
        private void ResolveHeader(DataTable dataTable)
        {
            var setting = dataTable.ExtendedProperties["_Setting_"] as DataTableSetting;

            if (setting != null)
            {
                lock (thisLock)
                {
                    if (!(bool)dataTable.ExtendedProperties["_HeaderIsComplete_"])
                    {
                        foreach (var rowDefinition in setting.ColumnDefinitions)
                        {
                            var columnData = dataTable.Columns[rowDefinition.Key.ToString()];
                            if (rowDefinition.IsHeaderSelector)
                            {
                                var el = _htmlDocument.GetElementByQuery(rowDefinition.Header);
                                if (el != null)
                                {
                                    columnData.Caption = el.GetStringValue();
                                }
                            }
                            else
                            {
                                columnData.Caption = rowDefinition.Header;
                            }
                        }
                        dataTable.ExtendedProperties["_HeaderIsComplete_"] = true;
                    }
                }
            }
        }