Hi,
ich habe eine Datenklasse, deren Ableitung eine Liste an Daten (Bytes) enthält.
Leider wird beim Zuordnen der Daten zur Datasource Property des DataGridView keine Daten angezeigt.
Ich versuche das ganze so:
Eine Instanz von ViewData_RawData wird erzeugt und das Raw Property mit Daten gefüllt.
Dann zeige ich die Daten an, indem ich showData meiner View_Table Klasse aufrufe.
Wenn die Form dann angezeigt wird, habe ich nur das leere DataGridView ohn Daten!
DATENKLASSEN:
public class ViewData_Table
{
public object DataSource { get; set; }
}
public class ViewData_RawData : ViewData_Table
{
public ViewData_RawData()
{
Raw = new List<Data>();
DataSource = Raw;
}
public List<Data> Raw { get; set; }
public class Data
{
public Byte Delta { get; set; }
public Byte Reference { get; set; }
public Byte Signal { get; set; }
}
}
VIEWKLASSEN:
public class View_Table
{
public bool showData(IViewData data)
{
//if data to show is not null
if (data == null)
{
throw new ArgumentNullException("View_NotifyUser:showData() interface data is null");
}
ViewData_Table dataInterface = (ViewData_Table)data;
TouchTable currentTouchTable = new TouchTable(); //create custom DatagridView
SuperView.Controls.Add(currentTouchTable); //Add control to Form
}
currentTouchTable.AddDataSource(dataInterface);
return true;
}
}
public partial class TouchTable : UserControl
{
public TouchTable()
{
InitializeComponent();
}
public void AddDataSource(ViewData_Table data)
{
touchDataGridView.DataSource = data.DataSource;
}
}
Hi camelord,
was passiert denn, denn du eine Liste mit deinen Objekten direkt an ein GridView bindest? Ansonsten sollte man hier die richtige Lösung finden können: Displaying Data in the Windows Forms DataGridView Control.
Christian
Weeks of programming can save you hours of planning
Hi, dann wird alles richtig dargestellt. Das Problem liegt denke ich an der Ableitung..
Diese Technik brauche ich aber für meine Problemlösung..
Hallo camelord,
auch wenn es nicht ganz das gleiche zu sein scheint, erinnert mich dein Problem an Binden einer Liste aus Interfaces an ein DataGridView mithilfe einer BindingList. Vielleicht hilft dir das zumindest ein Stück.
herbivore
ok so gehts - schade dass man das nicht mit Attributen oder so was lösen kann.
@camelord
Schau nochmal im Link welchen herbivore verlinkt hat... Da gibt es ein Update.
Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...
OK verstanden - danke für den Update..
sowas in der Richtung dachte ich mir schon.
Danke dir