Skip to main content

DOMElement

Forma ham HTML/DOM içeriği yerleştirmek için kullanılan görsel bir kapsayıcı nesnedir. Standart nesnelerin karşılamadığı özel bir görünüm ya da düzeni doğrudan HTML ile oluşturmak istediğinizde işe yarar.

Bu bir kapsayıcı / görsel nesnedir; veri tutmaz. Bu yüzden veritabanı alanı, zorunluluk ya da değer doğrulama gibi davranışları yoktur. İçeriğin kendisi tasarım anında tanımlanır; nesne çalışma anında ekranda gösterilir.

Ne zaman kullanılır?

Hazır nesnelerle çıkamadığınız özel bir HTML bloğu, gömülü bir görsel düzen ya da kendi biçimlendirmenizi forma eklemek istediğinizde kullanın. Sadece düz yazı göstermek için Label, tıklanabilir bir alan için Button daha basittir. DOMElement'i gerçekten ham HTML kontrolü gerektiğinde tercih edin.

Boş bir yer tutucu DOM düğümü gerekiyorsa, DOMElement'in boş varyantı olan EmptyDOMNode nesnesini kullanabilirsiniz.

Değer tipi

Bu nesnenin bir değeri yoktur. DOMElement sadece görsel bir kapsayıcıdır; Value veya Text ile okunup yazılmaz. Koddan görünürlüğünü, aktifliğini, başlığını, CSS sınıfını, stilini ve yükleniyor (loading) durumunu yönetebilirsiniz.

Tasarımcı özellikleri

Bir DOMElement seçildiğinde Özellik Görüntüleyici sekmelere ayrılır. Bu nesnenin etiketi, veri kaynağı ve değer davranışı olmadığından temel, görünüm ve stil özellikleri bulunur. Aşağıdaki tüm özellikler VisualControl taban nesnesinden gelir ve API dökümünde doğrulanmıştır.

General

ÖzellikAçıklama
NameNesnenin koddaki adı (ör. DOMElement1). Koddan bu adla erişirsiniz.
ControlIdNesnenin istemci tarafındaki kimliği (String).

Appearance

ÖzellikTipAçıklama
VisibleBooleanNesnenin sunucu tarafında görünürlüğü.
Client VisibleBooleanNesnenin sadece tarayıcı tarafındaki görünürlüğü (ClientVisible).
EnabledBooleanNesnenin sunucu tarafında aktif olup olmadığı.
Client EnabledBooleanNesnenin sadece tarayıcı tarafında aktif olup olmadığı (ClientEnabled).
Default EnabledBooleanEnabled'ın başlangıç (varsayılan) değeri (DefaultEnabled).
Default Client EnabledBooleanClientEnabled'ın başlangıç (varsayılan) değeri (DefaultClientEnabled).
TitleMultiLanguageTextNesnenin başlığı (çok dilli); genelde ipucu olarak görünür.
CaptionControlCaptionNesnenin başlık bloğu (çok dilli metin, font ve hizalama ayarları).
LoadingBooleanNesnenin üzerinde yükleniyor (loading) göstergesi olup olmadığı.

Style

ÖzellikTipAçıklama
Custom Class NameStringGömülü HTML'e CSS sınıfı eklemenin yoludur (CustomClassName). DOMElement'e özgü tek stil kancasıdır.
StyleStyleNesnenin kendi satır içi stili.
Container StyleStyleNesneyi saran hücrenin stili (ContainerStyle).

Context Menu

ÖzellikTipAçıklama
Context Menu KeyStringNesneye bağlanacak sağ tık menüsünün anahtarı (ContextMenuKey).
Context Menu Column KeyStringİlgili menünün sütun anahtarı (ContextMenuColumnKey).
Context Menu TargetContextMenuTargetSağ tık menüsünün hedefi (ContextMenuTarget).

Olaylar

DOMElement, tasarımcının formda bağlayabileceği kendi olaylarını adı belli ayrı üyeler olarak değil, genel ServerEvents ve ClientEvents (List<EventItem>) listeleri üzerinden tutar. Tasarımcı arayüzünde bu nesneye özgü olarak listelenen olaylar, VisualControl üzerinden gelen tıklama girişleridir; harvest çıktısı bu özel üye listesinde events: [] döndürür.

Yaşam döngüsü kancaları taban nesneden gelir

OnInit / OnLoad / OnPreRender / OnRender çerçeve (framework) yaşam döngüsü kancalarıdır ve BaseControl taban nesnesinden miras alınır; bu yüzden her nesne gibi bu nesnede de bulunurlar. Bunlar nesnenin kendi tasarımcı olayları değil, tüm nesnelerin paylaştığı genel yaşam döngüsü adımlarıdır. OnDataLoad ise yalnızca veri bağlı (DataBoundControl) nesnelerde tanımlıdır; DOMElement veri bağlı bir nesne olmadığından bu nesnede bulunmaz. DOMElement görsel bir kapsayıcı olduğundan değer (OnValueChanged vb.) olayı da fırlatmaz.

Doğrulanabilir etkileşim

ÜyeAçıklama
OnClick(object sender, MouseEventArgs e)Nesneye tıklanınca çalışan, VisualControl üzerinden gelen sunucu girişi.
OnDoubleClick(object sender, MouseEventArgs e)Nesneye çift tıklanınca çalışan giriş.

Tıklama davranışı, tüm nesnelerin paylaştığı EventItem listesi (ServerEvents / ClientEvents) üzerinden bağlanır.

Çalışma anı API'si (Methods)

DOMElement, VisualControl'den gelen şu çalışma anı yöntemlerini sunar. Bunlar görünürlük ve yükleniyor durumunu yönetmenin temiz yoludur:

YöntemAçıklama
Show()Nesneyi gösterir (Visible = true yerine daha okunaklı).
Hide()Nesneyi gizler (Visible = false yerine daha okunaklı).
ShowLoading()Nesnenin üzerinde yükleniyor göstergesini açar (Loading).
HideLoading()Yükleniyor göstergesini kapatır.
ToggleLoading()Yükleniyor durumunu tersine çevirir.
ScrollTo()Nesneyi görünür alana kaydırır.
FireClick()Nesnenin tıklama davranışını koddan tetikler.
Doğrulama notu

Yukarıdaki yöntemler API dökümünde mevcuttur ve derlenir; çalışma anı davranışları kaynaklarda ayrıca doğrulanmamıştır (dump-only: compiles, runtime-unverified).

Kod örnekleri

DOMElement'in değeri olmadığı için kodla görünürlüğünü, stilini ve yükleniyor durumunu yönetirsiniz. Sunucu örnekleri turuncu, istemci örnekleri kırmızı çerçevelidir.

Form kodu (C#, sunucu)

Form kodunda nesneye doğrudan adıyla erişirsiniz:

// Göster / gizle (temiz yol)
DOMElement1.Show();
DOMElement1.Hide();

// Aktif / pasif
DOMElement1.Enabled = true;

// Gömülü HTML'e CSS sınıfı bağla (DOMElement'e özgü stil kancası)
DOMElement1.CustomClassName = "ozel-pano koyu-tema";

// Yükleniyor göstergesi
DOMElement1.ShowLoading();
DOMElement1.HideLoading();

Akış (Flow) kodu (C#, sunucu)

Akış kodunda nesneye Document1.Controls üzerinden erişirsiniz:

// Göster / gizle
Document1.Controls["DOMElement1"].Visible = false;

// Aktif / pasif
Document1.Controls["DOMElement1"].Enabled = true;

// CSS sınıfı ve yükleniyor durumu
Document1.Controls["DOMElement1"].CustomClassName = "vurgulu-blok";
Document1.Controls["DOMElement1"].Loading = true;

İstemci kodu (TypeScript, tarayıcı)

İstemci tarafında nesnelere this. ile erişilir ve özellik adları küçük harfle yazılır:

this.DOMElement1.visible = false;
this.DOMElement1.enabled = true;
İstemci özellik adları

İstemci tarafındaki küçük harfli özellik yüzeyi (visible, enabled vb.) sunucu DLL dökümünden doğrulanamaz; döküm yalnızca C# adlarını (Visible, Enabled) içerir. Yukarıdaki TypeScript kullanımı genel Synergy istemci sözleşmesine dayanır.

Değer yerine görünürlük ve stil

DOMElement veri tutmadığı için .Value ya da .Text aramayın. Bu nesneyi koddan Show() / Hide(), Visible / ClientVisible, Enabled / ClientEnabled, CustomClassName, Style ve Loading ile yönetirsiniz; gömülü HTML içeriğini tasarım anında belirlersiniz.

İpuçları

  • DOMElement görsel bir kapsayıcıdır; zorunlu alan, veri doğrulama gibi işlemler için değer tutan nesneleri (TextBox gibi) kullanın.
  • Forma sadece düz yazı eklemek istiyorsanız DOMElement yerine Label daha hafiftir.
  • Gömülü HTML'inize CSS uygulamanın doğal yolu CustomClassName'dir; nesneye özgü tek stil kancası budur.
  • Görünürlüğü kodla değiştirirken Visible = true/false yerine Show() / Hide() daha okunaklıdır. Sadece tarayıcı tarafında gizlemek için ClientVisible kullanın.
  • Bir bloğu hazırlarken veri beklerken ShowLoading() ile yükleniyor göstergesi açıp, hazır olunca HideLoading() ile kapatabilirsiniz.
Tüm tasarımcı özellikleri (tam liste)

General: Name, ControlId

Appearance: Visible, ClientVisible, Enabled, ClientEnabled, DefaultEnabled, DefaultClientEnabled, Title (MultiLanguageText), Caption (ControlCaption), Loading

Style: CustomClassName, Style, ContainerStyle

Context Menu: ContextMenuKey, ContextMenuColumnKey, ContextMenuTarget

Yöntemler (VisualControl): Show(), Hide(), ShowLoading(), HideLoading(), ToggleLoading(), ScrollTo(), FireClick(), OnClick(object, MouseEventArgs), OnDoubleClick(object, MouseEventArgs)

Olaylar: Adlandırılmış olay üyesi yoktur. Olaylar genel ServerEvents / ClientEvents (List<EventItem>) listeleri üzerinden tutulur.