Spread.NET에 대한 사용자 정의 셀 유형을 만들려고합니다. 'FarPoint.Web.Spread.BaseCellType.PaintCell (문자열, System.Web.UI.WebControls.TableCell, FarPoint.Web.Spread.Appearance : 내가 오류가추상 기본 멤버를 호출 할 수 없습니다.
추상베이스 부재 호출 할 수 없습니다입니다 , FarPoint.Web.Spread.Inset, 개체, 부울) '여기
는 선언
[Serializable()]
public class BarcodeCellType : FarPoint.Web.Spread.BaseCellType
{
public override Control PaintCell(string id, TableCell parent, Appearance style, Inset margin, object value, bool upperLevel)
{
parent.Attributes.Add("FpCellType", "BarcodeCellType");
if (value != null)
{
try
{
MemoryStream ms = GenerateBarCode(value.ToString());
var img = Bitmap.FromStream(ms);
value = img;
}
catch (Exception ex)
{
value = ex.ToString();
}
}
return base.PaintCell(id, parent, style, margin, value, upperLevel); //ERROR HERE
}
private MemoryStream GenerateBarCode(string codeInfo)
{
using (MemoryStream ms = new MemoryStream())
{
BarCodeBuilder bb = new BarCodeBuilder();
bb.CodeText = codeInfo;
bb.SymbologyType = Symbology.Code128;
bb.BarCodeImage.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
return ms;
}
}
}
기본 메소드가 가상이며 오버라이드와 동일한 서명이 있습니까? – twrowsell
머리가 위로 올라가면 메모리 누수가 발생합니다. MemoryStream 및 비트 맵 인스턴스는 Dispose()를 호출하거나 "using"블록으로 래핑 한 후 정리해야합니다. –
안녕하세요 mjmarsh - 내 코드를 업데이트했습니다. 이렇게하면 어떻게됩니까? – daved