Как отображать изображения в поиске селектора?
Я просмотрел этот пример и применил его в своем сценарии, но он не работает должным образом.
Здесь у меня есть вопросы: Как отображать изображения внутри поиска в селекторе?
в этом сценарии вы использовали два aspx-кода: (2 и 3 - боковые заголовки)
Для нового столбца установите для свойства Type значение Icon: Установите свойство Type для столбца ThumbnailURL на Icon:
Я очень запутался, как использовать эти два код на странице aspx, пожалуйста, поясните, как это использовать, это очень полезно, если вы дадите мне хорошее предложение
{Основная проблема в том, что RowSelecting не работает, когда я нахожусь в режиме отладки}
#region TSHazardStatementPictogram(Current maint)
public void Initialize()
{
this.RowSelecting.AddHandler<TSHazardStatementPictogram>(HazardPictogramRowSelecting);
}
public void HazardPictogramRowSelecting(PXCache sender, PXRowSelectingEventArgs e)
{
//using (new PXConnectionScope())
var row = e.Row as TSHazardStatementPictogram;
if (row != null && !string.IsNullOrEmpty(row.HSPictogram))
{
Guid[] files = PXNoteAttribute.GetFileNotes(sender, e.Row);
var fm = PXGraph.CreateInstance<PX.SM.UploadFileMaintenance>();
foreach (Guid fileID in files)
{
PX.SM.FileInfo fi = fm.GetFileWithNoData(fileID);
if (fi.FullName == row.HSPictogram || fi.Name == row.HSPictogram)
{
string url = $"~/Frames/GetFile.ashx?fileID={fileID}";
row.HSPictogram = url;
//row.Pictogram =
// ControlHelper.GetAttachedFileUrl(null, fileID.ToString());
break;
}
}
}
//}
}
#endregion
И я изменил обработчик событий вот так, и здесь отладка работает, но изображение не отображается в селекторе поиска:
#region Working
public void TSHazardStatementPictogram_RowSelecting(PXCache sender, PXRowSelectingEventArgs e, PXRowSelecting baseMethod)
{
baseMethod?.Invoke(sender, e);
using (new PXConnectionScope())
{
var row = (TSHazardStatementPictogram)e.Row;
if (row == null)
return;
//row.HSPictogram = string.IsNullOrEmpty(row.HSPictogram) ? "main@Fail" : "main@Success";
//row.HSPictogram = @"http://www.acumatica.asia/acumaticawwwsite-acumaticainc.netdna-ssl.com/wp-content/uploads/2014/09/acumatica-2.png";
if (row.HSPictogram != null)
{
TSHazardPictogram currentLineItem = PXSelect<TSHazardPictogram, Where<TSHazardPictogram.pictogram,
Equal<Required<TSHazardPictogram.pictogram>>>>.Select(this, row.HSPictogram);
if (row != null && !string.IsNullOrEmpty(currentLineItem.Pictogram))
{
if (currentLineItem.Pictogram != null)
{
HazardPictogramMaint hazardPictogramMaint = PXGraph.CreateInstance<HazardPictogramMaint>();
Guid[] files = PXNoteAttribute.GetFileNotes(hazardPictogramMaint.TSHazardPictogramView.Cache, currentLineItem);
var fm = PXGraph.CreateInstance<PX.SM.UploadFileMaintenance>();
foreach (Guid fileID in files)
{
PX.SM.FileInfo fi = fm.GetFileWithNoData(fileID);
if (fi.FullName == currentLineItem.Pictogram || fi.Name == currentLineItem.Pictogram)
{
///* row.ThumbnailURL*/
//row/*.GetExtension<TSHazardPictogramExt>()*/.Pictogram = ControlHelper.GetAttachedFileUrl(null, fileID.ToString());
//break;
string url = $"~/Frames/GetFile.ashx?fileID={fileID}";
row.HSPictogram = url;
//row.Pictogram =
// ControlHelper.GetAttachedFileUrl(null, fileID.ToString());
break;
}
}
}
}
}
}
}
#endregion
DA C:
#region HSPictogram
public abstract class hSPictogram : PX.Data.BQL.BqlString.Field<hSPictogram>
{
}
protected string _HSPictogram;
[PXDBString(255, IsUnicode = true)]
[PXUIField(DisplayName = "Pictogram")]
//[PXMergeAttributes(Method = MergeMethod.Append)]
[PXSelector(typeof(Search<TSHazardPictogram.pictogram>), typeof(TSHazardPictogram.hazardPictogram),
typeof(TSHazardPictogram.pictogram), typeof(TSHazardPictogram.hazardClass), typeof(TSHazardPictogram.hazardCategory),
SubstituteKey = typeof(TSHazardPictogram.pictogram)
/*DescriptionField = typeof(TSHazardPictogram.hazardPictogram)*/, ValidateValue = false)]
public virtual string HSPictogram
{
get
{
return this._HSPictogram;
}
set
{
this._HSPictogram = value;
}
}
#endregion
Aspx-код:
заранее спасибо