/// <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 } }
private void DatasetItemOnEventChanged(IDatasetItem o) { ChangedEvent?.Invoke(this, _DataSet.IndexOf((DatasetItem)o)); ApplyDatasetElement(); }
public void PoolInitialize(int datasetObject, IDataset dataset, IDatasetItem datasetData) { Dataset = dataset; Index = datasetObject; }
// String data variant public string SaveDatasetFile(IDatasetItem <TAnnotation> source, string content, string fileIdAndExtension, string subDirectory = "") => SaveDatasetFile(source, content.EncodeUTF8(), fileIdAndExtension, subDirectory);
// 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);