bindingList ラッパーを使用して gridview コントローラーをフィールドしようとすると、次のようなエラー メッセージが表示されます。
'CustomerName' という名前のフィールドまたはプロパティが、選択したデータ ソースで見つかりませんでした。
GridView の私のコードは
GridViewSerials.AutoGenerateColumns = false; GridViewSerials.DataSourceID = null; GridViewSerials.DataSource = null;
CustomersController customersController = new CustomersController();
LicenseWrapperCollection licenseWrapperCollection = new Entities.LicenseWrapperCollection();
licenseWrapperCollection = customersController.GetAllCustomersAndSerials();
GridViewSerials.DataSource = licenseWrapperCollection; BoundField boundFiled = GridViewSerials.Columns[2] as BoundField; boundFiled.DataField = "CustomerName";
GridViewSerials.DataKeyNames[0] = "CustomerId";
そして私のラッパークラスは
public class LicenseWrapper
{
#region Fields
private License _license;
private Customer _customer;
#endregion
#region Constructors
internal LicenseWrapper(License license, Customer customer)
{
_license = license;
_customer = customer;
FillWithProperties();
}
#endregion
#region Properties
internal string customer_id { get; set; }
internal string CustomerId { get; set; }
internal string CustomerName { get; set; }
internal string VatNumber { get; set; }
internal string SerialNumber { get; set; }
internal DateTime? InstallationDate { get; set; }
internal DateTime? IssueDate { get; set; }
internal DateTime? ExpirationDate { get; set; }
internal string HardwareId { get; set; }
internal string CurrentVersion { get; set; }
internal bool LicenseHasBeenDownloaded { get; set; }
#endregion
#region Methods
private void FillWithProperties()
{
customer_id = _customer.Id.ToString();
CustomerId = _customer.Id.ToString();
CustomerName = string.Format("{0} {1}",_customer.FirstName, _customer.LastName);
VatNumber = _customer.VatNumber;
SerialNumber = _license.SerialNumber;
InstallationDate = DateTime.Now; //must be fixed when fixed database _installation.InstallationDate;
IssueDate = _license.IssueDate;
ExpirationDate = _license.ExpirationDate;
HardwareId = _license.Installation != null ? _license.Installation.HardwareId : string.Empty;
LicenseHasBeenDownloaded = _license.Installation != null ? _license.Installation.LicenseHasBeenDownLoaded : false;
}
public override string ToString()
{
return string.Format("{0} {1} {2}", CustomerId, CustomerName, SerialNumber);
}
#endregion
}
そして、私のエラーメッセージは
> A field or property with the name 'CustomerName' was not found on the
> selected data source.
どうすればそれを修正できますか?ありがとうございました