Skript Button für Layer Refresh
Diese Funktion per Skript-Button ermöglicht dass einzelne Layer neu gezeichnet werden können.
Wenn die Tabelle des Dialogs refreshed werden soll kann man
public override void Button_Click()
{
this.Map.RefreshLayer(this.Table.Name);
}
verwenden.
Bei Views den für xxx den Layer verwendeten Viewnamen angeben. Es werden alle Layer refreshed, deren Tabellennamen gleich dem angegebenen ist.
Wenn z.Bsp. die Tabelle "BEMASSUUNG" sehr oft in einem Darstellungsmodell vorkommt, können in einem Darstellungsmodell z.Bsp. 5 DB-User eingebunden sein die jeweils eine Bemassung haben. Über die obenstehende Funktion werden also auch nicht veränderte/bearbeitete Layer neu gezeichnet, was deutlich mehr Verarbeitungszeit in Anspruch nimmt.
Wenn daher die Connection mit berücksichtigt werden soll kann man diese Funktion anwenden!
public override void Button_Click()
{
this.Map.RefreshLayer(this.Table.Name,this.Table.Connection.Name);
}
Layer-Refresh für Skriptbutton.
Die Funktion RefreshLayer(String)
ermöglicht das gezielte Auffrischen eines Layers. Als Parameter wird ein Tabellen- oder Viewname angegeben und nicht die Bezeichnung des Layers! Es werden dann alle Layer aufgefrischt, deren Tabellenname mit dem angegebenen übereinstimmt. Es ist nicht möglich, dies auf eine bestimmte Verbindung zu beschränken.
Beispiele:
public overrides void Button_Click()
{
this.Map.RefreshLayer(this.Table.Name);
}
public overrides void Button_Click()
{
this.Map.RefreshLayer("V_KANAL");
}
//Feature Update
feature.SetValue("id_pressure_level", 10002);
this.UpdateFeature(feature);
this.Map.RefreshLayer("V_BEMASSUNG_L");
if (this.Form.Mode==dialogMode.Browse)
{
this.Form.RefreshRecordAsync();
this.RequeryRecordsAsync();
}