Example #1
0
        /// <summary>
        /// Смотри <see cref="IDataset.Add"/>
        /// </summary>
        public void Add(IDatasetItem value)
        {
            _DataSet.Add((DatasetItem)value);
            value.EventChanged += DatasetItemOnEventChanged;

            AddedEvent?.Invoke(this, value);

            ApplyDatasetElement();
        }
        protected void WriteListItem(HtmlTextWriter output, DataRow dr, bool bUseAlt, IDatasetItem DSI)
        {
            Sitecore.Diagnostics.Assert.ArgumentNotNull(this.DatasetRendererItem, "DatasetRendererItem");

            if (_ItemTemplateView == null && !string.IsNullOrEmpty(this.DatasetRendererItem.ListItemTemplate))
                _ItemTemplateView = DatasetViewEngine.Compile(this.DatasetRendererItem.ListItemTemplate);

            if (_AlternateItemTemplateView == null && !string.IsNullOrEmpty(this.DatasetRendererItem.AltListItemTemplate))
                _AlternateItemTemplateView = DatasetViewEngine.Compile(this.DatasetRendererItem.AltListItemTemplate);

            CompiledView cv = null;
            if (!bUseAlt || String.IsNullOrEmpty(this.DatasetRendererItem.AltListItemTemplate))
                cv = _ItemTemplateView;
            else
                cv = _AlternateItemTemplateView;

            if (cv != null)
            {
                var s = cv.ViewText;
                s = DatasetViewEngine.Render(cv, dr, DSI.GetFieldValue, DSI.GetItemUrl, this.CustomFunctionHandlers);
                output.Write(s);
            }
        }
 protected void WriteList(HtmlTextWriter htw, IDatasetItem DSI, DataRowCollection rows)
 {
     bool bAltFlag = false;
     foreach (DataRow dr in rows)
     {
         WriteListItem(htw, dr, bAltFlag, DSI);
         bAltFlag = !bAltFlag;
     }
 }
        protected void WriteColumnedList(HtmlTextWriter htw, IDatasetItem DSI, DataRowCollection rows)
        {
            int iRowCount = rows.Count;

            for (int i = 1; i <= this.DatasetRendererItem.ColumnsValue; i++)
            {
                string vcClass = "";

                if (i == 1)
                    vcClass += "left";
                else if (i == this.DatasetRendererItem.ColumnsValue)
                    vcClass += "right";
                else
                    vcClass += "middle";

                htw.AddAttribute(HtmlTextWriterAttribute.Class, vcClass.Trim());
                htw.RenderBeginTag(HtmlTextWriterTag.Ul);
                htw.WriteLine();

                int jStart;
                int jMax;
                int jStep;

                if (this.DatasetRendererItem.MulticolumnCollationValue == "Across")
                {
                    jStart = i - 1;
                    jMax = iRowCount;
                    jStep = this.DatasetRendererItem.ColumnsValue;
                }
                else
                {
                    int iColLen = iRowCount / this.DatasetRendererItem.ColumnsValue;
                    int iColRemainder = iRowCount % this.DatasetRendererItem.ColumnsValue;

                    jStart = (iColLen * (i - 1));
                    jMax = (iColLen * i);

                    if (i - 1 <= iColRemainder)
                        jStart += i - 1;
                    if (i <= iColRemainder)
                        jMax++;

                    jStep = 1;
                }

                bool bAltFlag = false;
                for (int j = jStart; j < jMax; j += jStep)
                {
                    htw.RenderBeginTag(HtmlTextWriterTag.Li);
                    htw.WriteLine();

                    this.WriteListItem(htw, rows[j], bAltFlag, DSI);

                    htw.RenderEndTag(); //LI
                    htw.WriteLine("");

                    bAltFlag = !bAltFlag;
                }

                htw.RenderEndTag(); //Ul
            }
        }
Example #5
0
 private void DatasetItemOnEventChanged(IDatasetItem o)
 {
     ChangedEvent?.Invoke(this, _DataSet.IndexOf((DatasetItem)o));
     ApplyDatasetElement();
 }
Example #6
0
 public void PoolInitialize(int datasetObject, IDataset dataset, IDatasetItem datasetData)
 {
     Dataset = dataset;
     Index   = datasetObject;
 }
Example #7
0
 // String data variant
 public string SaveDatasetFile(IDatasetItem <TAnnotation> source, string content, string fileIdAndExtension,
                               string subDirectory = "") => SaveDatasetFile(source, content.EncodeUTF8(), fileIdAndExtension, subDirectory);
Example #8
0
 // Save an external dataset file that contains the item identifier in the file name
 public string SaveDatasetFile(IDatasetItem <TAnnotation> source, byte[] data, string fileIdAndExtension,
                               string subDirectory = "") =>
 SaveDatasetFile(data, source.ItemIdentifier + fileIdAndExtension, subDirectory);