Skip to main content

1.Giriş

1.1. Amaç

eBA İş Akış Yönetimi, form ve akış geliştirmek için çok sayıda bileşen ve özellik sunmaktadır. Bu sayede kodlama yapmaya ihtiyaç duymadan birçok işlem yapılabilmektedir. Ancak kodlama ihtiyacı duyulacak bazı durumlar ((veri kaynağına erişim, harici uygulamalar ile entegrasyon, harici kütüphane kullanımı vb.) ortaya çıkabilmektedir. eBA Geliştirici Referans Rehberi, eBA İş Akışı Yönetiminde kodlama ile geliştirme yapacak kullanıcılara gerekli bilgileri sunmak için hazırlanmıştır.

1.2. Kapsam

eBA Geliştirici Referans Rehberi, eBA İş Akışı Yönetimi için aşağıdaki üç maddeyi kapsamaktadır.

Form ve akış arayüzlerinde kodlama

eBA Kütüphaneleri’nin kullanımı

Özel kontrol geliştirme

2.Kodlama Hakkında

eBA Workflow projelerinde kodlama platformu, zengin kütüphanelerin kullanılabilir olduğu Microsoft .Net ve kodlama dili C#’tır.

İlerleyen bölümlerde, eBA Workflow Studio’da geliştirilen projelerde ve nesnelerde, eBA’nın sunduğu yardımcı kütüphane ve API’lerde kodlama hakkında geniş bilgi bulacaksınız.

3.Form Arayüzünde Kodlama

Form arayüzünde, tasarım yaptığımız ekran ve kod yazılan editör bölümü (kodlama editörü) mevcuttur.

Kodlama Editörü’nü açmak için

Form üzerinde sağa tıklayın.

View Server Code ‘u seçin.

Formun olay koduna erişmek için

Formun Kod Gezgini’ndeki olaylarına çift tıklayın.

View Validation Code’u seçin.

OnValidateDocument olay kodunu görün.

Nesnenin olay koduna erişmek için

Nesnenin Kod Gezgini’ndeki olaylarına çift tıklayın.

View Validation Code’u seçin.

OnValidateDocument olay kodunu görün.

3.1. Form

eBA Formları eBAControls.eBABaseForm sınıfından türemektedir. Bu bölümde, ilgili sınıfa ait özellikler, metotlar ve olaylar açıklanmaktadır.

3.1.1. Özellikler

• AlwaysValidate

Tanım: Formun kaydedilirken daima geçerliliğinin kontrol edilmesini sağlar. Tipi: System. Boolean Deklarasyon: public bool AlwaysValidate { set; get; } Örnek:
public void OnSaveData() { AlwaysValidate = true; }

• CopyMode

Tanım: Kopyalama işleminin durumunu gösterir. True olması form kopyalama işlemi yapılıyor anlamına gelir. Tipi: System. Boolean Deklarasyon: public bool CopyMode { get; set; } Örnek:

public void OnLoadData() 
{
if(CopyMode)
{

}
}

• CurrentBrowser

Tanım: Formu açan kullanıcının kullandığı tarayıcıyı verir. Tipi: System.String
Deklarasyon: public string CurrentBrowser { get; }

• CurrentDictionary

Tanım: Formu açan kullanıcının kullandığı dili verir. Tipi: ebanet.MultilanguageDictionary Deklarasyon: public ebanet.MultilanguageDictionary CurrentDictionary { get; }

• CurrentMode

Tanım: Formun mevcut modunun bilgisidir. Modu değiştirmek için kullanılabilir. Aldığı Değerler: Edit: Değişiklik yapılabilir modu View: Görüntüleme modu. Değişiklik yapılamaz. Tipi: eBAControls.eBABaseForm.FormMode Deklarasyon: public eBAControls.eBABaseForm.FormMode CurrentMode { set; get; }

• CurrentView

Tanım: Formun gösterildiği görünüm bilgisidir. Görünümü değiştirmek için de kullanılır. Tipi: System.String Deklarasyon: public string CurrentView { set; get; } Örnek: public void Button1_OnClick(Object sender, EventArgs e) { CurrentView = "view1"; }

• DocumentId

Tanım: Doldurulan formun doküman numarasını verir. Bu doküman numarası genelde form bazında unique olur. İstenilir ise değiştirilebilir.
Tipi: System.String Deklarasyon: public string DocumentId { set; get; }

• DocumentOpenArchiveName

Tanım: Form arşivden açılırsa açılan arşivin adını verir. Aksi durumda null olur. Tipi: System.String Deklarasyon: public static string DocumentOpenArchiveName { get; }

• DocumentOpenArchiveType

Tanım: Form arşivden açılırsa açılan arşivin tipini verir. Aksi durumda null olur. Tipi: System.String Deklarasyon: public static string DocumentOpenArchiveType { get; }

• DocumentOpenSource

Tanım: Form arşivden açılırsa değeri ‘archive’ olur. Tipi: System.String Deklarasyon: public static string DocumentOpenSource { get; }

• DocumentVersion

Tanım: Formun versiyonunu verir. Tipi: System.Int32
Deklarasyon: public int DocumentVersion { set; get; }

• EventId

Tanım: Event formlarda formun açılmasını sağlayan olayın numarasıdır. Tipi: System.Int32
Deklarasyon: public int EventId { set; get; }

• EventProcessId

Tanım: Event formlarda formun açıldığı akışın numarasıdır. Tipi: System.Int32
Deklarasyon: public int EventProcessId { set; get; }

• EventRequestId

Tanım: Event formlarda formun açıldığı isteğin numarasıdır. Tipi: System.Int32
Deklarasyon: public int EventRequestId { set; get; }

• Filename

Tanım: Formun doküman yönetim sistemindeki tam yolunu verir. Bu doküman yolu standart olup Workflow/[ProjectName]/[FormName]/[GlobalId].wfd formatındadır. Tipi: System.String Deklarasyon: public string Filename { get; } • formName

Tanım: Formun adını verir. Tipi: System.String Deklarasyon: public string formName { get; set; }

• id

Tanım: Formun sistem bazında tutulan eşsiz numarasıdır. Tipi: System.Int32 Deklarasyon: public int id { set; get; }

• IsMobile

Tanım: Formunun mobil cihazdan görüntülendiği bilgisini verir. Tipi: System. Boolean Deklarasyon: public bool IsMobile { get; }

• IsTest

Tanım: Sistemin test modunda mı açıldığı bilgisini verir. Tipi: System. Boolean Deklarasyon: public bool IsTest { get; }

• LogonDelegated

Tanım: Sisteme giriş yapmış kullanıcının vekalet yoluyla işlem yapıp yapmadığını verir. Tipi: System. Boolean Deklarasyon: public bool LogonDelegated { get; }

• LogonDelegationUser

Tanım: Sisteme giriş yapmış kullanıcının vekalet yoluyla işlem yapıyorsa asıl kullanıcının kodunu verir. Tipi: System.String Deklarasyon: public string LogonDelegationUser { get; }

• LogonLanguage

Tanım: Sisteme giriş yapmış kullanıcının dil tercihini verir. Tipi: System.String Deklarasyon: public string LogonLanguage { get; }

• LogonPosition

Tanım: Sisteme giriş yapmış kullanıcının pozisyonunu verir. Tipi: System.String Deklarasyon: public string LogonPosition { get; }

• LogonUser

Tanım: Sisteme giriş yapmış kullanıcının kodunu verir. Tipi: System.String Deklarasyon: public string LogonUser { get; }

• MultilanguageEnabled

Tanım: Projenin çoklu dil özelliğinin durumunu verir. Tipi: System. Boolean Deklarasyon: public virtual bool MultilanguageEnabled { get; }

• PrintingEnabled

Tanım: Yazdırma modu etkinlik durum bilgisini verir. Tipi: System. Boolean Deklarasyon: public bool PrintingEnabled { get; set; }

• ProjectVersion

Tanım: Proje versiyonunu verir. Tipi: System.Int32 Deklarasyon: public int ProjectVersion { set; get; }

• SourceDocument

Tanım: Yapıştırılarak doldurulmuş formun ana form kodunu verir. Tipi: System.Int32 Deklarasyon: public int SourceDocument { set; get; }

• UserLanguage

Tanım: Sisteme giriş yapmış kullanıcının dilini verir. Tipi: System.String Deklarasyon: public string UserLanguage { get; }

• height

Tanım: Formun yüksekliğini piksel olarak verir. Tipi: System.Int32 Deklarasyon: public int height

• width

Tanım: Formun genişliğini piksel olarak verir. Tipi: System.Int32 Deklarasyon: public int width

3.1.2. Metotlar

• CreateDatabaseConnection()

Tanım: Kod yazarken sistemin veritabanına erişmek gerekebilir. Bu gibi durumlarda kod içinde veritabanı bağlantısı yapmak için bu metod kullanılır. Geri dönüş değeri hangi sistem kullanılıyorsa (Ms Sql,Oracle) ona göre cast edilmelidir. Deklarasyon: public System.Data.Common.DbConnection CreateDatabaseConnection()

Örnek: using System.Data.SqlClient; … SqlConnection dbcon = (SqlConnection)CreateDatabaseConnection();

veya

using System.Data.OracleClient; … OracleConnection dbcon = (OracleConnection)CreateDatabaseConnection();

• CreateServerConnection()

Tanım: eBA API si ile server a bağlantı açmak için kullanılır. Deklarasyon: public eBAPI.Connection.eBAConnection CreateServerConnection()

Örnek: using eBAPI; using eBAPI.Connection;

eBAConnection con = CreateServerConnection(); con.Open(); …

• DecimalToString(decimal, int, bool)

Tanım: Decimal veri tipini string veri tipine çeviren methoddur. Deklarasyon: public string DecimalToString(decimal number, int numberOfDigitsAfterDecimal, bool useThousandSeperator)

• DoubleToString(double, bool)

Tanım: Double veri tipini string veri tipine çeviren methoddur. Deklarasyon: public string DoubleToString(double number, bool useThousandSeperator)

• GetControlsList()

Tanım: Formdaki kontrollerin listesini verir. Deklarasyon: public virtual System.Collections.Generic.List<System.Web.UI.Control> GetControlsList()

Örnek: Örnekte form üzerindeki metin kutularının hepsinin arkaplan rengi kırmızı yapılmaktadır.

using System.Web.UI; using System.Web.UI.WebControls; … public void Button1_OnClick(Object sender, EventArgs e) { foreach(Control ctrl in GetControlsList()) { if (ctrl is TextBox) { ((TextBox)ctrl).BackColor = System.Drawing.Color.Red; } } }

• GetEventReason()

Tanım: Akışta event form kullanılıyorsa ve ilgili event için neden bilgisi event formu üzerinden belirlenmek isteniliyorsa bu metod override edilir. Bunun için event formu sınıfı içine aşağıdaki metodun kopyalanması ve içeriğinin düzenlenmesi yeterlidir. Metod içinde geriye dönülen string veri neden bilgisi olarak kabul edilir. Deklarasyon: public virtual string GetEventReason()

Örnek:

public override string GetEventReason() { return Metin1.Text; }

• GetMultilanguageText(string)

Tanım: Proje için çoklu dil özellik etkinleştirilmişse, dil kitaplığında tanımlanan metnin değerini almak için kullanılır. Deklarasyon: public string GetMultilanguageText(string text)

Örnek:
public void Button1_OnClick(Object sender, EventArgs e) { Text1.Text=GetMultilanguageText("@Process.MyProject.User.myWord"); }

• GetPrintableFormatUrl()

Tanım: Sayfanın yazdırılabilir biçimine erişmek için adres (url) almak amacıyla kullanılır. Deklarasyon: public string GetPrintableFormatUrl()

• GetPrintableFormatUrl(string)

Tanım: View parametresi verilerek sayfanın yazdırılabilir biçimine erişmek için adres (url) almak amacıyla kullanılır. Deklarasyon: public string GetPrintableFormatUrl(string _view)

• IntegerToString(int, bool)

Tanım: Integer veri tipini string veri tipine çevirmek için kullanılır. Deklarasyon: public string IntegerToString(int number, bool useThousandSeperator)

• MakeDMItemSelector(System.Web.UI.WebControls.Button, System.Web.UI.WebControls.TextBox, bool, string)

Tanım: Belge yönetim sistemindeki düğme için “dosya yolu seçimi” olanağı sağlamak için kullanılır.

Örnek:
public void OnFormLoad() { MakeDMItemSelector(Button1,Text1,true,"Library 1/Folder 1"); } public void Button1_OnClick(Object sender, EventArgs e) { ShowMessageBox(Text1.Text); }

• MakeEditable(System.Web.UI.WebControls.WebControl)

Tanım : Verilen kontrol için değişiklik sağlamak için kullanılır.

• MakeEditable(System.Collections.Generic.List<WebControl>)

Tanım : WebControl listesi parametresi ile verilen kontrol için değişiklik sağlamak için kullanılır.

• MakeReadOnly(System.Web.UI.WebControls.WebControl)

Tanım : Verilen kontrolü salt okunur yapmak için kullanılır.

• MakeReadOnly(System.Collections.Generic.List<WebControl>)

Tanım : WebControl listesi parametresi ile verilen kontrolü salt okunur yapmak için kullanılır.

• MakeTextBoxAutoFormatted(System.Web.UI.WebControls.WebControl, bool, int, bool)

Tanım: Kullanıcının formdaki metin kutusuna sayısal veri ayarlamasına izin vermek için kullanılır. Bu yöntemle, ilgili sayısal veriler biçimlendirilebilir.

Örnek:
public void OnFormLoad() { MakeTextBoxAutoFormatted(Text1,true,2,true);

}

• RefreshDetails(eBAControls.eBATable)

Tanım: Form üzerindeki detaylar nesnesini yenilemek için kullanılır. Deklarasyon: protected void RefreshDetails(eBAControls.eBATable tbl) Örnek:
public void Button1_OnClick(Object sender, EventArgs e) {
int globaldocid = 3; DataRow newRow = Details1.CreateRow(); newRow["DOCUMENTID"] = globaldocid; newRow["CHECKED"] = 0; Details1.InsertRow(newRow);

RefreshDetails(Details1); }

• SetButtonToOpenUrlInNewWindow(System.Web.UI.WebControls.WebControl, string, bool)

Tanım: Formdaki bir düğme tıklatıldığında istenen adresi yönlendirmek üzere yeni bir tarayıcı penceresi açmak için kullanılır. Deklarasyon: public void SetButtonToOpenUrlInNewWindow(WebControl control, string url, bool postback) Örnek: public void OnFormLoad() { SetButtonToOpenUrlInNewWindow(Button1,"https://bss.bimser.com",false); }

• ShowMessageBox(string, string, eBAControls.eBABaseForm.eBAMessageBoxType) • ShowMessageBox(string, string) • ShowMessageBox(string, eBAControls.eBABaseForm.eBAMessageBoxType) • ShowMessageBox(string)

Tanım: Form üzerinde istenen bir anda uyarı mesajı çıkartan metoddur. Sadece uyarı mesajı değeri alabilir, “Error”,”Information”,”Warning” eBAMessageBoxType tipleri belirtilerek uyarının yapısı belirlenebilir veya uyarı detayı gösterilmesi sağlanabilir.

Deklarasyon:
public void ShowMessageBox(string message, string detail, eBAControls.eBABaseForm.eBAMessageBoxType type)

public void ShowMessageBox(string message, string detail)

public void ShowMessageBox(string message, eBAControls.eBABaseForm.eBAMessageBoxType type)

public void ShowMessageBox(string message)

Örnek: public void OnSaveData() { ShowMessageBox("Bilgiler Kaydediliyor"); }

• ShowModalDocument(System.Web.UI.WebControls.WebControl, string, bool) • ShowModalDocument(System.Web.UI.WebControls.WebControl, string, bool, eBAControls.ModalParameters parameters) • ShowModalDocument(eBAControls.ModalParameters parameters)

Tanım: Dokümanı form içinde Doküman Yönetim Sisteminde açmak için kullanılır Deklarasyon: public void ShowModalDocument(System.Web.UI.WebControls.WebControl control, string filename, bool editable)

Parametreler: control Dokümanı açacak form üzerindeki kontrolün adı filename Açılacak dosya yolu editable Düzenlenebilme durumu

• ShowModalForm(System.Web.UI.Control, string, string, string, bool, int, bool) • ShowModalForm(System.Web.UI.Control, string, string, string, bool, int, bool, eBAControls.ModalParameters)

Tanım : Kodla modal form açmak için kullanılan metodlardır. Deklarasyon:
public void ShowModalForm(Control sender,string project, string form, string view, bool create, int documentId, bool readOnly)

public void ShowModalForm(Control sender,string project, string form, string view, bool create, int documentId, bool readOnly, ModalParameters parameters)

Parametreler: Control sender : Form üzerinde modal formu açtırmak isteyen nesnedir string project : Açtırılmak istenen formun bulunduğu proje. create parametresi true ise gerekli. Diğer durumlarda null olabilir string form : Açtırılmak istenen formun adı. create parametresi true ise gerekli. Diğer durumlarda null olabilir

3.1.3. Olaylar

• OnFormLoad

Tanım:Form yüklenirken çalışır. Hemen ardından OnLoadData çalışır.

Deklarasyon: public void OnFormLoad() Örnek: public void OnFormLoad() {

}

Not Burada yapılan atamalar (Örnek: Text1.Text="sometext";), OnLoadData tarafından ezilebilir. Bu yüzden dikkat edilmelidir. Bu tür atamalar OnLoadData’da yapılmalıdır.

• OnValidateDocument

Tanım: Özel doğrulamalar için kullanılır.
Not Formdan farklı bir içerikte çalıştığı için, form kontrollerine doğrudan ulaşılamaz. Örneğin Text1 nesnesine form içinde Text1.Text ile ulaşılırken, burada Text1 yeterlidir. Validasyonun geçersiz olması için, summary değişkenine en az bir mesaj eklenmelidir. Aksi durumda, validasyon başarılı olur ve işlem takılmadan devam eder.

Deklarasyon: public override void OnValidateDocument(string view, bool canEdit, Hashtable parameters, ValidationSummary summary) Parametreler:
view: Validasyonu yapılacak formun o anda kullanılan view bilgisidir. canEdit: Validasyonu yapılan form için kullanıcının değişiklik yetkisini verir. parameters: Bazı özel parametereler burada bulunur. Tüm parametreler string tipindedir.

LogonUser.Id: Logon olan kullanıcının kodudur. UserLanguage: Logon olan kullanıcının dilidir.

Aşağıdaki parametreler sadece bir akış varsa geçerlidir. Aksi durumda parametreler de gelmezler.

Request.Id: Kullanıcının seçtiği event kodu Request.Text: Kullanıcının seçtiği event adı Request.EventIcon: Kullanıcının seçtiği event ikonu Request.ReasonRequired: Kullanıcının seçtiği event için neden girilmesi zorunlumu Request.EventForm: Kullanıcının seçtiği event için event form tipi Request.Validate: Kullanıcının seçtiği event için validasyon aktifmi Request.Confirm: Kullanıcının seçtiği event için konfirmasyon yapıldımı

Bu parametrelere erişirken öncelikle mevcut oldukları kontrolü yapılmalıdır.

summary: Bu değişken içine atılan her mesaj kullanıcı arayüzünde validasyon mesajı olarak gelir. Formun validasyonun geçersiz olması için en az bir mesajın eklenmiş olması gereklidir. Aksi durumda validasyon başarılı kabul edilir. ValidationSummary sınıfı FlowDocumentInterface.dll inde anlatılmaktadır.

Örnek: public override void OnValidateDocument(string view, bool canEdit, Hashtable parameters, ValidationSummary summary) { if (Text1!=null && Text1>100 && Text2==null)
{ summary.AddMessage("Text2 değerini giriniz"); } }

• OnLoadData

Tanım:OnFormLoad dan sonra çalışır. Dökümanın verisini veritabanından okunup forma yüklendikten hemen sonra çalışır.
Not Herhangi bir alana yükleme sonrası kod ile müdahale edilecek ise, bu metot içinde yapılmalıdır.

Deklarasyon: public void OnLoadData() Örnek: public void OnLoadData() { string data = “veri”; Text1.Text = data; }

• OnSaveData

Tanım:Form verilerinin kaydedilme işleminden hemen önce çalışır. Bu işlemden önce içeriği değiştirilmek istenilen alanların içeriği değiştirilebilir ve/veya özel veri kaynaklarına kaydetme işlemleri yapılabilir. Deklarasyon: public void OnSaveData() Örnek: public void OnSaveData() { string data = Text1.Text; //save data to other operational systems }

• OnAfterSaveData

Tanım:Form verilerinin kaydedilme işleminden sonra çalışır. Deklarasyon: public void OnAfterSaveData() Örnek: public void OnAfterSaveData() {

}

• OnBeginEdit

Tanım: Form edit moduna girdikten sonra çalışır. Deklarasyon: public void OnBeginEdit() Örnek: public void OnBeginEdit() { Text1.BackColor = System.Drawing.Color.Red;
}

• OnEndEdit

Tanım: Form edit modundan çıktıktan sonra çalışır. Deklarasyon: public void OnEndEdit() Örnek: public void OnEndEdit() { Text1.BackColor = System.Drawing.Color.White;
}

• OnModalLoad

Tanım: Form eğer modal olarak açılıyorsa bu event çalışır. Ana formdan modala parametre geçilirken kullanılabilir. Deklarasyon: public void OnModalLoad(ModalParameters parameters) Parametreler:
parameters: Modal parametreleridir.

Örnek: public void OnModalLoad(ModalParameters parameters) { string testparam1=parameters["testparam1"].ToString(); int testparam2=(int)parameters["testparam2"];
Metin2.Text=testparam1 + " " + testparam2.ToString();
}

• OnModalUnload

Tanım: Form eğer modal olarak açılmışsa ve daha sonra kapatılıyorsa bu event çalışır. Deklarasyon: public void OnModalUnload(eBAModalEventArgs args) Parametreler:
args: Modal event parametreleridir. İçinde, modalın geridönüş değeri ve parametreleri bulunur.

Örnek: public void OnModalUnload(eBAModalEventArgs args) { if (args.modalResult == ModalResult.Ok)
{ args.parameters.Add("test",Metin1.Text); }
}

Not Modal kapanırken, ana forma parametre geçilecek ise, bu işlem burada yapılabilir.

• OnModalReturn

Tanım: Eğer formda bir modal form açılmışsa ve kapatılıp ana forma dönülüyorsa ana formda bu event çalışır.

Deklarasyon: public void OnModalReturn(object sender, eBAModalEventArgs e) Parametreler:
sender: Modal formu açtıran nesnedir. e: Modal event parametreleridir. İçinde, modalın geridönüş değeri ve parametreleri bulunur.

Örnek: public void OnModalReturn(object sender, eBAModalEventArgs e) {
if (e.modalResult == ModalResult.Ok) { Text1.Text = e.parameters["test"].ToString();
} } Not Modal formdan ana forma geçilen parametrelere buradan erişilebilir.

• OnCopy

Tanım: Başka bir formdan kopyalanmış veri yapıştırılırken tetiklenir. Deklarasyon: public void OnCopy(eBACopyEventArgs args) Parametreler:
args: Kopyalama parametreleridir. İçinde, kopyalanan dokümanın global id si bulunur.

Örnek: public void OnCopy(eBACopyEventArgs args) { int sourceId = args.SourceId;
}

3.2. Metin Kutusu

Metin Kutusu nesnesi veri tipine göre kontrol sınıfı ve validasyon değer tipi değişmektedir. Aşağıdaki tabloda bu değişiklik gösterilmektedir. Metin kutusunun özellikleri TextBox ve eBADateTimeBox sınıfları başlıklarında ayrı ayrı ele alınıp, Validasyon bölümünde de metin kutusu nesnesinin formun OnValidateDocument olayında kullanımı açıklanmıştır.

3.2.1. TextBox

Text Box; Metin, Tamsayı, Virgüllü Sayı yada Para veri tipindeki metin kutusu nesnelerinin türediği sınıftır.

3.2.1.1. Özellikler

• Text

Tanım: Metin kutusu içindeki metni değiştirmek yada almak için kullanılır. Tipi: System.String Deklarasyon: public string Text { get; set; }

• MaxLength

Tanım: Metin kutusu içine karakter sayısı girişini sınırlandırır. Sıfır değeri için kısıtlama çalışmaz. Tipi: System.Int32 Deklarasyon: public int MaxLength { get; set; }

• ReadOnly

Tanım: Metin kutusunun içeriği “true” ise değiştirilemez “false” ise değiştirilebilir. Tipi: System.Boolean Deklarasyon: public bool ReadOnly { get; set; }

• BackColor Tanım: Metin kutusunun arka plan rengini belirler. Tipi: System.Drawing.Color Deklarasyon: public System.Drawing.Color BackColor { get; set; } Örnek: Text1.BackColor = System.Drawing.Color.Empty; //Renk yok Text1.BackColor = System.Drawing.Color.Red; //Kırmızı arka plan rengi

• ForeColor Tanım: Metin kutusunun yazı rengini belirler. Tipi: System.Drawing.Color Deklarasyon: public System.Drawing.Color ForeColor { get; set; }

• Visible Tanım: Nesnenin görünür olup olmayacağını belirler. Tipi: System.Boolean Deklarasyon: public bool Visible { get; set; }

3.2.2. eBADateTimeBox ebaDateTimeBox; Tarih veri tipindeki metin kutusu nesnelerinin türediği sınıftır.

3.2.2.1. Özellikler

• Value

Tanım: Tarih kutusuna girilen tarih değerini DateTime olarak verir.
Tipi: System.DateTime Deklarasyon: public System.DateTime Value { get; set; } Örnek: DateTime dt = DateTime.Now; if (Text1.IsValid) { dt=Text1.Value; } Not Eğer geçersiz bir tarih girilmiş ise, hata oluşur. Bu yüzden öncelikle, IsValid ile, geçerli bir değer olup olmadığı kontrol edilmelidir.

• Text

Tanım: Tarih kutusuna girilen değeri kısa tarih metin olarak verir.
Tipi: System. String Deklarasyon: public string Text { get; }

Not Eğer geçerli bir tarih yoksa boşluk döner.

• IsEmpty

Tanım: Metin kutusuna geçersizde olsa bir giriş olup olmadığını gösterir. Tipi: System. Boolean
Deklarasyon: public bool IsEmpty { get; }

• IsValid

Tanım: Girilmiş olan tarih değerinin geçerli bir tarih olup olmadığını verir. Tipi: System. Boolean
Deklarasyon: public bool IsValid { get; }

• DateTimeFormat

Tanım: Tarih metinin görünümünü belirler. Tipi: eBADateTimeFormat Deklarasyon: public eBADateTimeFormat DateTimeFormat { get; set; } Örnek: public enum eBADateTimeFormat { DateAndTime, DateOnly } Text1.DateTimeFormat = eBADateTimeFormat. DateOnly;

• ManuelEntryEnable

Tanım: Tarih girişinin manuel olarak yapılıp yapılmayacağını belirtir.
Tipi: System.Boolean Deklarasyon: public bool ManuelEntryEnable { get; set; }

Not Manuel giriş kapalı ise sadece takvimden seçim yapılabilir.

• ReadOnly Tanım: Metin kutusunun içeriği “true” ise değiştirilemez “false” ise değiştirilebilir. Tipi: System.Boolean Deklarasyon: public bool ReadOnly { get; set; }

• Visible Tanım: Nesnenin görünür olup olmayacağını belirler. Tipi: System.Boolean Deklarasyon: public bool Visible { get; set; }

3.2.3. Validasyon

Validasyon kodlamasında, değişken tipi veri tipine göre belirlenir. Bu kısımda sadece veriye erişim olup, kontrole erişim yoktur. Değişken tiplerine karşılık gelen veri tiplerini Tablo 1’de inceleyebilirsiniz.

Örnek: Metin tipinde bir metin kutusu için validasyon kodlaması aşağıda gösterilmektedir.

public override void OnValidateDocument(string view, bool canEdit, Hashtable parameters, ValidationSummary summary) { string valueText1 = Text1; if (valueText1!=null && valueText1.Length!=10) { summary.AddMessage("Length of Text1 must be 10 characters"); } }

Örnek: Tamsayı tipinde nümerik bir metin kutusu için validasyon kodlaması aşağıda gösterilmektedir.

public override void OnValidateDocument(string view, bool canEdit, Hashtable parameters, ValidationSummary summary) { Nullable<int> valueText1 = Text1; if ((!valueText1.HasValue) && (valueText1.Value>100 || valueText1.Value<1)) { summary.AddMessage("Value of Text1 must be between 0 and 100"); } }

Not String dışındaki Nullable olan tipler için, HasValue özelliği, değişken değerin null olup olmadığını, Value değeri ise değişkenin değerini vermektedir. 

3.3. Etiket

System.Web.UI.WebControls.Label sınıfı tipindedir. Veri girişi olmadığından validasyona girmemektedir.

3.3.1. Özellikler

• Text

Tanım:. Etiketin metin kısmını belirler. Tipi: System.String Deklarasyon: public string Text { get; set; }

• BackColor

Tanım:Etiketin arka plan rengini belirler. Tipi: System.Drawing.Color Deklarasyon: public System.Drawing.Color BackColor { get; set; } Örnek: Label1.BackColor = System.Drawing.Color.Empty; //Renk yok Label1.BackColor = System.Drawing.Color.Red; //Kırmızı arka plan rengi

• ForeColor

Tanım: Etiketin yazı rengini belirler. Tipi: System.Drawing.Color Deklarasyon: public System.Drawing.Color ForeColor { get; set; }

• Visible

Tanım: Nesnenin görünür olup olmayacağını belirler. Tipi: System.Boolean Deklarasyon: public bool Visible { get; set;

3.4. Tek Seçimlik Liste

Tek seçimlik liste nesne sınıfı, grid özelliğinin açık olup olmamasına göre değişmektedir. Grid özelliği kapalı iken normal bir liste gibi çalışır. Grid modunda ise yeni bir ekrandan seçim yapılmaktadır.

Tablo 2’de listeleme moduna göre kontrol sınıfları ait olduğu gösterilmektedir. Aşağıda bu 2 kontrol sınıfının özellikleri ayrı, olayları ve validasyon bilgisi birlikte ele alınmaktadır.

3.4.1. DropDownList

Standart liste modunda iken nesnenin sınıfıdır.

3.4.1.1. Özellikler

• SelectedItem

Tanım: Liste içinde seçili elemanı döner. Seçim yapılmamış ise null döner. Tipi: System.Web.UI.WebControls.ListItem Deklarasyon: public System.Web.UI.WebControls.ListItem SelectedItem { get; } Örnek: if (List1.SelectedItem==null) { Text1.Text="no selection"; } else { Text1.Text=List1.SelectedItem.Text + " - " + List1.SelectedItem.Value;
}

• SelectedIndex

Tanım: Seçim yapılan elamanın sıra numarasını verir. Seçim yapılmamış ise -1 numarasını alır. Bu değere, atama yapılarak, istenilen sıradaki elemanın seçili olması sağlanabilir. Tipi: System.Int32 Deklarasyon: public int SelectedIndex { get; set; }

• SelectedValue

Tanım: Seçili elemanın değerini verir. Seçim yok ise boş değer verir. Bu değere, atama yapılarak, istenilen değere ait eleman, seçili hale getirilebilir. Tipi: System.String Deklarasyon: public string SelectedValue { get; set; }

• Items

Tanım: Elemanların listesini verir. Tipi: System.Web.UI.WebControls.ListItemCollection Deklarasyon: public virtual System.Web.UI.WebControls.ListItemCollection Items { get; } Örnek: foreach(ListItem item in List1.Items) { if (item.Value=="2")
{ Text1.Text = item.Text; } }

• Enabled

Tanım:. Seçim yapılıp yapılamayacağını belirler. Tipi: System.Boolean Deklarasyon: public bool Enabled { get; set; }

• Visible

Tanım: Nesnenin görünür olup olmayacağını belirler. Tipi: System.Boolean Deklarasyon: public bool Visible { get; set; }

3.4.2. eBACombobox

Grid modunda nesnenin sınıfıdır.

3.4.2.1. Özellikler

• Text

Tanım: Seçili elemanın kullanıcıya görünen metin kısmıdır. Tipi: System.String Deklarasyon: public string Text { get; set; }

• Value

Tanım: Seçili elemanın değeridir. Tipi: System.String Deklarasyon: public string Value { get; set; }

• DeleteEnable

Tanım: “true” ise seçili elemanı silmek için buton gelir. Tipi: System.Boolean Deklarasyon: public bool DeleteEnable { get; set; }

• ManuelEntryEnable

Tanım: “true” ise kullanıcı klavye ile giriş yapabilir. Bu durumda değer bilgisi ile metin bilgisi aynı olur. Tipi: System.Boolean Deklarasyon: public bool ManuelEntryEnable { get; set; }

• ReadOnly

Tanım: Nesnenin verisinin değiştirilip değiştirilmeyeceğini belirler. Tipi: System.Boolean Deklarasyon: public bool ReadOnly { get; set; }

• Visible

Tanım: Nesnenin görünür olup olmayacağını belirler. Tipi: System.Boolean Deklarasyon: public bool Visible { get; set; }

• BackColor

Tanım: Nesnenin arka plan rengini belirler. Tipi: System.Drawing.Color Deklarasyon: public System.Drawing.Color BackColor { get; set; } Örnek: Label1.BackColor = System.Drawing.Color.Empty; //Renk yok Label1.BackColor = System.Drawing.Color.Red; //Kırmızı arka plan rengi

• ForeColor

Tanım: Nesnenin yazı rengini belirler. Tipi: System.Drawing.Color Deklarasyon: public System.Drawing.Color ForeColor { get; set; }

3.4.3. Olaylar

• OnAfterChange

Tanım: Seçim işlemi yapıldıktan hemen sonra çalışır. Deklarasyon: public void OnAfterChange(Object sender, eBAListEventArgs e,DataRowView row) Parametreler:
sender: Liste nesnesidir. e: Olay parametreleridir. Olayın seçim ve silme işlemlerinden hangisi durumunda gerçekleştiğini verir. public enum eBAListAction { Select, Delete } row: Nesne veritabanına bağlı ise seçilen satırın bilgilerini verir. Veritabanına bağlı değil ise null değerindedir. Örnek: public void List1_OnAfterChange(Object sender, eBAListEventArgs e,DataRowView row) { if (List1.SelectedItem.Value==null) { Text1.Text = String.Empty; } else { Text1.Text = List1.SelectedItem.Value; } }

Örnek: public void List1_OnAfterChange(Object sender, eBAListEventArgs e,DataRowView row) { if (e.Action==eBAListAction.Select) { if (row["OSUSERS_FIRSTNAME"]==null) { Text1.Text = String.Empty; } else { Text1.Text = row["OSUSERS_FIRSTNAME"].ToString(); } } else if (e.Action==eBAListAction.Delete) { Text1.Text = String.Empty;
} }

• OnBeforeChange

Tanım: Seçimden önce çalışır. Nesne standart modda iken çalışmaz. Yalnızca grid moddayken çalışır. Deklarasyon: public void OnBeforeChange(Object sender, eBAListEventArgs e,DataRowView row) Parametreler:
sender: Liste nesnesidir. e: Olay parametreleridir. Olayın seçim ve silme işlemlerinden hangisi durumunda gerçekleştiğini verir. Kullanımına ilişkin örnekler için OnAfterChange olayını inceleyiniz. row: Nesne veritabanına bağlı ise seçilen satırın bilgilerini verir. Veritabanına bağlı değil ise null değerindedir.

3.4.4. Validasyon

Validasyon için iki adet string değer mevcuttur. Birisi seçili elemanın değeri, diğeri ise metin kısmı içindir.

string [Name]; //Seçili elemanın değeri string [Name]_Text; //Seçili elemanın metin değeri Örneğin List1 için string List1; string List1_Text; olacaktır.

public override void OnValidateDocument(string view, bool canEdit, Hashtable parameters, ValidationSummary summary) { string valueList1 = List1; if (valueList1!=null && valueList1.Equals(“testvalue”)) { summary.AddMessage("You have selected " + (List1_Text == null ? String.Empty : List1_Text)); } }

3.5. Çok Seçimlik Liste

Çok seçimlik liste nesnesi, System.Web.UI.WebControls.ListBox sınıfındadır.

3.5.1. Özellikler

• SelectedItem

Tanım:. Liste içinde seçili elemanı döner. Seçim yapılmamış ise null döner. Çoklu seçim açıkken, ilk seçili elemanı getirir. Tipi: System.Web.UI.WebControls.ListItem Deklarasyon: public System.Web.UI.WebControls.ListItem SelectedItem { get; } Örnek: if (List1.SelectedItem==null) { Text1.Text="no selection"; } else { Text1.Text=List1.SelectedItem.Text + " - " + List1.SelectedItem.Value;
}

• SelectedIndex

Tanım: Seçim yapılan elamanın sıra numarasını verir. Çoklu seçim açık ise ilk elemanın sıra numarasını verir. Seçim yapılmamış ise -1 numarasını alır. Bu değere, atama yapılarak, istenilen sıradaki elemanın seçili olması sağlanabilir. Tipi: System.Int32 Deklarasyon: public int SelectedIndex { get; set; }

• SelectedValue

Tanım: Seçili elemanın değerini verir. Çoklu seçim açık ise ilk seçili değeri verir. Seçim yok ise boş değer verir. Bu değere, atama yapılarak, istenilen değere ait eleman seçili hale getirilebilir. Tipi: System.String Deklarasyon: public string SelectedValue { get; set; }

• Items

Tanım: Elemanların listesini verir. Tipi: System.Web.UI.WebControls.ListItemCollection Deklarasyon: public virtual System.Web.UI.WebControls.ListItemCollection Items { get; } Örnek: string s=""; foreach(ListItem item in List1.Items) { if (item.Selected)
{ s+=item.Text + "(" + item.Value + ") - "; } } Text1.Text=s;

• Enabled

Tanım: Seçim yapılıp yapılamayacağını belirler. Tipi: System.Boolean Deklarasyon: public bool Enabled { get; set; }

• Visible

Tanım: Nesnenin görünür olup olmayacağını belirler. Tipi: System.Boolean Deklarasyon: public bool Visible { get; set; }

• SelectionMode

Tanım: Seçim modu Tipi: System.Web.UI.WebControls.ListSelectionMode Deklarasyon: public virtual System.Web.UI.WebControls.ListSelectionMode SelectionMode { get; set; } Alacağı Değerler; Multiple: Çoklu Single: Tekli

• BorderColor

Tanım: Nesnenin kenar rengidir Tipi: System.Drawing.Color Deklarasyon: public override System.Drawing.Color BorderColor { get; set; }

• BorderStyle

Tanım: Nesnenin kenar stili Tipi: System.Web.UI.WebControls.BorderStyle Deklarasyon: public override System.Web.UI.WebControls.BorderStyle BorderStyle { get; set; } Alacağı Değerler; Dashed: Kesik Dotted: Noktalı Double: Çift Groove: Oluk Inset: Ek None: Yok NotSet: Atanmadı Outset: Başlangıç Ridge: Kabarık çizgi Solid: Koyu

3.5.2. Metotlar

• GetSelectedIndices

Tanım: Seçili elemanların indexlerini dizi olarak verir. Deklarasyon: public int[] GetSelectedIndices(); Örnek: public void Button1_OnClick(Object sender, EventArgs e) { Text1.Text=""; foreach(int index in List1.GetSelectedIndices()) { Text1.Text+=List1.Items[index].Text + " - "; } }

3.5.3. Olaylar

• OnChange

Tanım: Seçim işlemi yapıldıktan hemen sonra çalışır. Çoklu seçimlerde ctrl tuşu basılı olarak yapılan her seçimden sonra çalışır. Deklarasyon: public void OnChange(object sender, EventArgs e) Parametreler:
sender: Liste nesnesidir. e: Olay parametreleridir. Örnek: public void List1_OnChange(object sender, EventArgs e) { string s=""; foreach(ListItem item in List1.Items) { if (item.Selected)
{ s+=item.Text + "(" + item.Value + ") - "; } } Text1.Text=s;
}

3.5.4. Validasyon

Validasyon kodlamasında seçili elemanları veren bir liste mevcuttur.

Örnekte değeri “2” olan eleman seçildiğinde validasyon sağlanmayacaktır.

public override void OnValidateDocument(string view, bool canEdit, Hashtable parameters, ValidationSummary summary) { foreach(eBAListItem item in List1) { if (item.Value.Equals("2")) { summary.AddMessage(item.Text + " is selected"); } }
}

3.6. Çoklu Seçim Kutusu

Çoklu seçim kutusu System.Web.UI.WebControls.CheckBox sınıfındadır.

3.6.1. Özellikler

• Checked

Tanım: Nesnenin seçili olup olmadığını belirtir. Tipi: System.Boolean Deklarasyon: public bool Checked { get; set; } Örnek: public void Button1_OnClick(Object sender, EventArgs e) { if (CheckBox1.Checked) { Text1.Text="checked"; } else { Text1.Text="not checked";
} }

3.6.2. Olaylar

• OnCheckedChanged

Tanım: Seçim işlemi yapıldıktan hemen sonra çalışır. Deklarasyon: public void OnCheckedChanged(Object sender, EventArgs e) Parametreler:
sender: Seçim nesnesidir. e: Olay parametreleridir.

Örnek: public void CheckBox1_OnCheckedChanged(Object sender, EventArgs e) { if (CheckBox1.Checked) { Text1.Text="checked"; } else { Text1.Text="not checked";
} }

3.6.3. Validasyon

Validasyon kodlamasında seçim durumunu veren bir değişken mevcuttur.

public Nullable<bool> objectname;

Örnekte CheckBox1 seçilmemişse Text1 e giriş yapmanın zorunlu olduğu durum kodlanmıştır.

public override void OnValidateDocument(string view, bool canEdit, Hashtable parameters, ValidationSummary summary) { if (((!CheckBox1.HasValue) || (!CheckBox1.Value)) && string.IsNullOrEmpty(Text1)) { summary.AddMessage("Text1 must be entered"); } }

3.7. Tekli Seçim Kutusu

Tekli seçim kutusu System.Web.UI.WebControls.RadioButton sınıfındadır.

3.7.1. Özellikler

• Checked

Tanım: Nesnenin seçili olup olmadığını belirtir. Tipi: System.Boolean Deklarasyon: public bool Checked { get; set; } Örnek: public void Button1_OnClick(Object sender, EventArgs e) { if (RadioButton1.Checked) { Text1.Text="checked"; } else { Text1.Text="not checked";
} }

• Text

Tanım: Nesnenin başlık bilgisini belirtir. Tipi: System.String Deklarasyon: public string Text { get; set; }

• GroupName

Tanım: Nesnenin dahil olduğu grup bilgisi Tipi: System.String Deklarasyon: public virtual string GroupName { get; set; }

3.7.2. Olaylar

• OnCheckedChanged

Tanım: Seçim işlemi yapıldıktan hemen sonra çalışır. Deklarasyon: public void OnCheckedChanged(Object sender, EventArgs e) Parametreler:
sender: Seçim nesnesidir. e: Olay parametreleridir.

Örnek: public void RadioButton1_OnCheckedChanged(Object sender, EventArgs e) { Text1.Text = "Radiobutton1 is checked";
} public void RadioButton2_OnCheckedChanged(Object sender, EventArgs e) { Text1.Text = "Radiobutton2 is checked";
}

3.7.3. Validasyon

Validasyon kodlamasında seçim durumunu veren bir değişken mevcuttur.

public Nullable<bool> objectname;

Örnekte Radiobutton1 seçilmemişse Text1 e giriş yapmanın zorunlu olduğu durum kodlanmıştır.

public override void OnValidateDocument(string view, bool canEdit, Hashtable parameters, ValidationSummary summary) { if (((!Radiobutton1.HasValue) || (!Radiobutton1.Value)) && string.IsNullOrEmpty(Text1)) { summary.AddMessage("Text1 must be entered"); } }

3.8. Çoklu Seçim Listesi

Birden çok çoklu seçim kutusunu tek tek forma eklemektense, çoklu seçim listesi nesnesi kullanılarak listeye girilen elemanlar kadar çoklu seçim kutuları oluşturulması sağlanabilir. Çoklu seçim listesi nesnesi “System.Web.UI.WebControls.CheckBoxList” sınıfındandır.

3.8.1. Özellikler

• Enabled

Tanım: Nesnenin görünürlük durumu Tipi: System.Boolean Deklarasyon: public bool Enabled { get; set; }

• Visible

Tanım: Nesnenin görünür olup olmayacağını belirler. Tipi: System.Boolean Deklarasyon: public bool Visible { get; set; }

• BorderColor

Tanım: Nesnenin kenar rengidir Tipi: System.Drawing.Color Deklarasyon: public override System.Drawing.Color BorderColor { get; set; }

• BorderStyle

Tanım: Nesnenin kenar stili Tipi: System.Web.UI.WebControls.BorderStyle Deklarasyon: public override System.Web.UI.WebControls.BorderStyle BorderStyle { get; set; } Alacağı Değerler; Dashed: Kesik Dotted: Noktalı Double: Çift Groove: Oluk Inset: Ek None: Yok NotSet: Atanmadı Outset: Başlangıç Ridge: Kabarık çizgi Solid: Koyu

• SelectedItem

Tanım:. Liste içinde seçili elemanı döner. Seçim yapılmamış ise null döner. Çoklu seçim açıkken, ilk seçili elemanı getirir. Tipi: System.Web.UI.WebControls.ListItem Deklarasyon: public System.Web.UI.WebControls.ListItem SelectedItem { get; } Örnek: if (List1.SelectedItem==null) { Text1.Text="no selection"; } else { Text1.Text=List1.SelectedItem.Text + " - " + List1.SelectedItem.Value;
}

• SelectedIndex

Tanım: Seçim yapılan elamanın sıra numarasını verir. Çoklu seçim açık ise ilk elemanın sıra numarasını verir. Seçim yapılmamış ise -1 numarasını alır. Bu değere, atama yapılarak, istenilen sıradaki elemanın seçili olması sağlanabilir. Tipi: System.Int32 Deklarasyon: public int SelectedIndex { get; set; }

• SelectedValue

Tanım: Seçili elemanın değerini verir. Çoklu seçim açık ise ilk seçili değeri verir. Seçim yok ise boş değer verir. Bu değere, atama yapılarak, istenilen değere ait eleman seçili hale getirilebilir. Tipi: System.String Deklarasyon: public string SelectedValue { get; set; }

• Items

Tanım: Elemanların listesini verir. Tipi: System.Web.UI.WebControls.ListItemCollection Deklarasyon: public virtual System.Web.UI.WebControls.ListItemCollection Items { get; } Örnek: string s=""; foreach(ListItem item in List1.Items) { if (item.Selected)
{ s+=item.Text + "(" + item.Value + ") - "; } } Text1.Text=s;

3.8.2. Metotlar

• ClearSelection()

Tanım: Seçimleri temizler Deklarasyon: public virtual void ClearSelection() Örnek: public void Buton1_OnClick(Object sender, EventArgs e) { CokluSecimListesi1.ClearSelection(); }

3.8.3. Olaylar

• SelectedIndexChanged

Tanım: Seçim işlemi yapıldıktan hemen sonra çalışır. Deklarasyon: public void SelectedIndexChanged(Object sender, EventArgs e) Parametreler:
sender: Seçim nesnesidir. e: Olay parametreleridir.

Örnek: public void SecimListesi1_SelectedIndexChanged(object sender, EventArgs e) { Metin1.Text = CokluSecimListesi1.SelectedValue; }

3.8.4. Validasyon

Validasyon kodlamasında seçili elemanları veren bir liste mevcuttur. public List<eBAListItem> objectname; eBAListItem Sınıfı; public string Value; public string Text; Aşağıdaki örneğe göre, değeri “2” olan eleman seçildiğinde uyarı verilecektir. public override void OnValidateDocument(string view, bool canEdit, Hashtable parameters, ValidationSummary summary) { foreach(eBAListItem item in CokluSecimListesi1) { if (item.Value.Equals("2")) summary.AddMessage(item.Text + " is selected"); }
}

3.9. Tekli Seçim Listesi

Birden çok tekli seçim kutusunu tek tek forma eklemektense, tekli seçim listesi nesnesi kullanılarak aynı gruba dahil tekli seçimleri liste halinde sıralayan bir yapı elde edilebilir.

Tekli Seçim Listesi nesnesi, “System.Web.UI.WebControls.RadioButtonList” sınıfındandır.

3.9.1. Özellikler

• Enabled

Tanım: Nesnenin görünürlük durumu Tipi: System.Boolean Deklarasyon: public bool Enabled { get; set; }

• Visible

Tanım: Nesnenin görünür olup olmayacağını belirler. Tipi: System.Boolean Deklarasyon: public bool Visible { get; set; }

• BorderColor

Tanım: Nesnenin kenar rengidir Tipi: System.Drawing.Color Deklarasyon: public override System.Drawing.Color BorderColor { get; set; }

• BorderStyle

Tanım: Nesnenin kenar stili Tipi: System.Web.UI.WebControls.BorderStyle Deklarasyon: public override System.Web.UI.WebControls.BorderStyle BorderStyle { get; set; } Alacağı Değerler; Dashed: Kesik Dotted: Noktalı Double: Çift Groove: Oluk Inset: Ek None: Yok NotSet: Atanmadı Outset: Başlangıç Ridge: Kabarık çizgi Solid: Koyu

• SelectedItem

Tanım:. Liste içinde seçili elemanı döner. Seçim yapılmamış ise null döner. Çoklu seçim açıkken, ilk seçili elemanı getirir. Tipi: System.Web.UI.WebControls.ListItem Deklarasyon: public System.Web.UI.WebControls.ListItem SelectedItem { get; } Örnek: if (List1.SelectedItem==null) { Text1.Text="no selection"; } else { Text1.Text=List1.SelectedItem.Text + " - " + List1.SelectedItem.Value;
}

• SelectedIndex

Tanım: Seçim yapılan elamanın sıra numarasını verir. Çoklu seçim açık ise ilk elemanın sıra numarasını verir. Seçim yapılmamış ise -1 numarasını alır. Bu değere, atama yapılarak, istenilen sıradaki elemanın seçili olması sağlanabilir. Tipi: System.Int32 Deklarasyon: public int SelectedIndex { get; set; }

• SelectedValue

Tanım: Seçili elemanın değerini verir. Çoklu seçim açık ise ilk seçili değeri verir. Seçim yok ise boş değer verir. Bu değere, atama yapılarak, istenilen değere ait eleman seçili hale getirilebilir. Tipi: System.String Deklarasyon: public string SelectedValue { get; set; }

• Items

Tanım: Elemanların listesini verir. Tipi: System.Web.UI.WebControls.ListItemCollection Deklarasyon: public virtual System.Web.UI.WebControls.ListItemCollection Items { get; } Örnek: string s=""; foreach(ListItem item in List1.Items) { if (item.Selected)
{ s+=item.Text + "(" + item.Value + ") - "; } } Text1.Text=s;

3.9.2. Metotlar

• ClearSelection()

Tanım: Seçimleri temizler Deklarasyon: public virtual void ClearSelection() Örnek: public void Buton1_OnClick(Object sender, EventArgs e) { SecimListesi1.ClearSelection(); }

3.9.3. Olaylar

• SelectedIndexChanged

Tanım: Seçim işlemi yapıldıktan hemen sonra çalışır. Deklarasyon: public void SelectedIndexChanged(Object sender, EventArgs e) Parametreler:
sender: Seçim nesnesidir. e: Olay parametreleridir.

Örnek: public void SecimListesi1_SelectedIndexChanged(object sender, EventArgs e) { Metin1.Text = SecimListesi1.SelectedValue; }

3.9.4. Validasyon

Tekli Seçim Listesi nesnesine validasyon kod kısmında erişmek için iki adet string değer mevcuttur. Birisi seçili elemanın değeri, diğeri ise metin kısmı içindir. string [Name]; Seçili elemanın değeri string [Name]_Text; Seçili elemanın metin değeri Örneğin “SecimListesi1” isimli bir tekli seçim listesi için; string SecimListesi1; //SecimListesi1 de seçili elemanın değeri string SecimListesi1_Text; //SecimListesi1 de seçili elemanın metin değeri

Örneğin; Form üzerindeki “SecimListesi1” isimli tekli seçim listesi nesnesinde değeri 1 olan eleman seçilmişse ya da metin değeri “eleman2” olan eleman seçilmişse, uyarı verilsin public override void OnValidateDocument(string view, bool canEdit, Hashtable parameters, ValidationSummary summary) { if(SecimListesi1 == "1" || SecimListesi1_Text == “eleman2”)
summary.AddMessage("Değerleri Kontrol Ediniz!");
}

3.10. Formül Yöneticisi

Formül yöneticisi eBAControls.eBAFormulaManager sınıfındadır.

Formül yöneticisi üzerinde gelen sihirbaz ile formüller tanımlanır. Formüller uygulandığında gerekli kod sihirbaz tarafından otomatik oluşturulur. Bu kodlar üzerinde gerekli ise değişiklik yapılabilir.

Kodlar client ve server olmak üzere iki farklı içerikte çalışır. Client tarafında genelde aritmetik hesaplamalar yapılır ve javascript kullanılır. Sunucu tarafında ise dip toplam hesaplama, ortalama alma gibi işlemler yapılır. Bu işlemler InitiateClientScript ve Calculate event lerinde gerçekleştirilir.

Formül yönetici ile elde edilen kod değiştirilirse ve tekrar formül yöneticisinden kod oluşturması istenilirse değişiklik yapılan kod ezilir.

3.10.1. Özellikler

• ID

Tanım: Formül yöneticisi nesne adnı belirtir. Tipi: System.String Deklarasyon: public string ID { get; set; }

3.10.2. Metotlar

• AddFormula(string)

Tanım: Client tarafına javascript formül eklemek için kullanılır. Deklarasyon: public void AddFormula(string script) Parametreler: script: Client javascript formül kodudur.

Not Bu metot InitiateClientScript içinde olmalı ve tüm client formüller eklendikten sonra BuildFormula çağırılmalıdır.

• BuildFormula

Tanım: Client formül tanımları yapıldıktan sonra formüllerin çalışabilmesi için bu metot çağırılmalıdır. Deklarasyon: public void BuildFormula()

• GetAVG(System.Data.DataTable, string)

Tanım: “DataTable data” tablosunun “string Column” kolonundaki verinin ortalamasını verir. Kolon içinde string tipinde veri olmalıdır. Deklarasyon: public static decimal GetAVG(System.Data.DataTable data, string Column) Parametreler: data: DataTable nesnesidir. Column: Ortalaması alınacak kolon adıdır.

• GetCOUNT (System.Data.DataTable, string)

Tanım: “DataTable data” tablosunun “string Column” kolonundaki geçerli veri içeren satır sayısını verir. Kolon içinde string tipinde veri olmalıdır. Deklarasyon: public static int GetCOUNT(System.Data.DataTable data, string Column) Parametreler: data: DataTable nesnesidir. Column: Sayısı alınacak kolon adıdır.

• GetMAX(System.Data.DataTable, string)

Tanım: “DataTable data” tablosunun “string Column” kolonundaki en büyük değeri verir. Kolon içinde string tipinde veri olmalıdır. Deklarasyon: public static decimal GetMAX(System.Data.DataTable data, string Column) Parametreler: data: DataTable nesnesidir. Column: En büyük değeri alınacak kolon adıdır.

• GetMIN(System.Data.DataTable, string)

Tanım: “DataTable data” tablosunun “string Column” kolonundaki en küçük değeri verir. Kolon içinde string tipinde veri olmalıdır. Deklarasyon: public static decimal GetMIN(System.Data.DataTable data, string Column) Parametreler: data: DataTable nesnesidir. Column: En küçük değeri alınacak kolon adıdır.

• GetSTDEV(System.Data.DataTable, string)

Tanım: “DataTable data” tablosunun “string Column” kolonundaki verilerin standart sapmasını verir. Kolon içinde string tipinde veri olmalıdır. Deklarasyon: public static decimal GetSTDEV(System.Data.DataTable data, string Column) Parametreler: data: DataTable nesnesidir. Column: Standart sapması alınacak kolon adıdır.

• GetSUM(System.Data.DataTable, string)

Tanım: “DataTable data” tablosunun “string Column” kolonundaki verilerin dip toplamını verir. Kolon içinde string tipinde veri olmalıdır. Deklarasyon: public static decimal GetSUM(System.Data.DataTable data, string Column) Parametreler: data: DataTable nesnesidir. Column: Dip toplamı alınacak kolon adıdır.

• SetTextBoxFormulaFunction(System.Collections.Generic.List<WebControl>)

Tanım: Client formüllerinde formülün yeniden hesaplanmasını tetikleyecek metin kutularını belirler. Deklarasyon: public void SetTextBoxFormulaFunction(System.Collections.Generic.List<WebControl> objs) Parametreler: objs: Kontrol listesidir.

• SetTextBoxFormulaFunction(params System.Web.UI.WebControls.TextBox[])

Tanım: Client formüllerinde formülün yeniden hesaplanmasını tetikleyecek metin kutularını belirler. Deklarasyon: public void SetTextBoxFormulaFunction(params System.Web.UI.WebControls.TextBox[] objs) Parametreler: objs: Kontrol listesidir.

3.10.3. Olaylar

• InitiateClientScript

Tanım: Client kısmında javascript ile çalışacak formüllerin tanımlandığı kısımdır. Deklarasyon: public void InitiateClientScript(object sender) Parametreler:
sender: Formül yöneticisi nesnesidir.

Örnek:

public void FormulaManager1_InitiateClientScript(object sender) { //<#eBA Workflow Studio created code begin> -- do not remove MakeReadOnly(Text3); FormulaManager1.SetTextBoxFormulaFunction(Text1,Text2); FormulaManager1.AddFormula("if (IseBAControl(#[Text3]) && IseBAControl(#[Text2]) && IseBAControl(#[Text1])) {#[Text3].value = ToString(ToNumber(#[Text1].value) * ToNumber(#[Text2].value))}"); FormulaManager1.BuildFormula();

//<#eBA Workflow Studio created code end> -- do not remove }

• Calculate

Tanım: Sunucu kısmında formüllerin hesaplandığı kısımdır. Deklarasyon: public void Calculate(object sender) Parametreler:
sender: Formül yöneticisi nesnesidir.

Örnek:
public void FormulaManager1_Calculate(object sender) { //<#eBA Workflow Studio created code begin> -- do not remove Text2.Text=eBAFormulaManager.GetSUM(Details1.Data,"Text1").ToString() ;

//<#eBA Workflow Studio created code end> -- do not remove }

3.10.4. Javascript Formül Kodlama

Client tarafındaki formüller javascript ile çalışır. Örnek olarak aşağıdaki formül iki metin kutusunu çarpıp bir diğerine yazar.

FormulaManager1.AddFormula("if (IseBAControl(#[Text3]) && IseBAControl(#[Text2]) && IseBAControl(#[Text1])) {#[Text3].value = ToString(ToNumber(#[Text1].value) * ToNumber(#[Text2].value))}");

AddFormula ile eklenen kısım javascript kodudur. Javascriptte metin kutusuna ulaşmak için “#[ControlName]” notasyonunu kullanmak gereklidir. Ayrıca formül hesaplamasını kolaylaştırmak için bazı metodlar vardır.

3.10.4.1. Metotlar

• #[controlName] Tanım: Metin kutusuna erişimi sağlar.

• #[controlName].value Tanım: Metin kutusu metin değerine erişimi sağlar.

• IseBAControl(object) Tanım: Nesnenin o anda mevcut olup olmadığını kontrol eder. Eğer nesne sunucu tarafında gizlenmiş ise client tarafından erişim yapılamaz. Erişim yapılmaya çalışılır ise hata oluşur. Bu kontrol ile hatanın önüne geçmek mümkündür. Deklarasyon: bool IseBAControl(object)

• ToNumber(object) Tanım: Metin kutusu içindeki, metin veriyi, nümerik veriye çevirir. Böylece metematiksel işlemlerde kullanılabilir. Deklarasyon: number ToNumber(object)

• ToString(number) Tanım: Nümerik veriyi metin verisine çevirir. Deklarasyon: string ToString(number)

3.11. Buton

Buton nesnesi System.Web.UI.WebControls.Button sınıfındadır.

3.11.1. Özellikler

• Text

Tanım: Butonun metin kısmıdır. Tipi: System.String Deklarasyon: public string Text { get; set; }

• Visible

Tanım: Nesnenin görünür olup olmayacağını belirler. Tipi: System.Boolean Deklarasyon: public bool Visible { get; set; }

• Enabled

Tanım:. Nesnenin kullanılır olup olmayacağını belirler. Tipi: System.Boolean Deklarasyon: public bool Enabled { get; set; }

3.11.2. Olaylar

• OnClick

Tanım: Butona mouse ile tıklandığında çalışır. Deklarasyon: public void OnClick(Object sender, EventArgs e) Parametreler:
sender: Buton nesnesidir. e: Olay parametreleridir.

Örnek:
public void Button1_OnClick(Object sender, EventArgs e) { Text1.Text = “some text”; }

3.12. Detaylar/Tablo

Detaylar ve Tablo nesneleri eBAControls.eBATable sınıfından türemektedir. Bu nedenle aynı başlık altında konumlandırılmıştır. Ancak hem kullanım hem de yapısal olarak farklılıklar mevcuttur.

3.12.1. Veri Yapı Farklılıkları

Detaylar nesnesi ve Tablo nesnesi arasındaki en belirgin farklılık, tuttukları veri yapılarıdır. Detaylar nesnesindeki her bir kayıt, bir eBA formunu temsil ettiğinden, formun ID’si de kaydedilmektedir. Tablo 3. Tablo nesnesi veri yapısı

3.12.2. Özellikler

• AddExistingButtonText

Tanım: Ekle butonunun yazısını günceller. Tipi: System.String Deklarasyon: public string AddExistingButtonText { set; get; }

• AddExistingEnable

Tanım: Ekle butonunun yazısını günceller. Tipi: System. Boolean Deklarasyon: public bool AddExistingEnable { set; get; } • AddNewButtonText

Tanım: Ekle butonunun yazısını günceller. Tipi: System.String Deklarasyon: public string AddNewButtonText { set; get; }

• AddNewEnable

Tanım: Ekle butonunun görünüp görünmemesini sağlar. Tipi: System.Boolean Deklarasyon: public bool AddNewEnable { set; get; }

• CheckAllEnable

Tanım: Tümünü seç butonunun aktif olmasını sağlar. Tipi: System.Boolean Deklarasyon: public bool CheckAllEnable { set; get; }

• CheckEnable

Tanım: Satırlarda seçim kutusunun aktif olmasını sağlar. Tipi: System.Boolean Deklarasyon: public bool CheckEnable { set; get; }

• ColumnLimit

Tanım: Satır sayısını verir. Tipi: System.Int32 Deklarasyon: public int ColumnLimit { set; get; }

• Columns

Tanım: Tablo ve Detaylar nesnesindeki kolonların listesidir. Tipi: System.Collections.Generic.List<eBATableColumn> Deklarasyon: public List<eBATableColumn> Columns { get; }

• ConfirmOnDelete

Tanım: Satır silme işleminde onaylama mesajı çıkartma durumunu belirtir. Tipi: System.Boolean
Deklarasyon: public bool ConfirmOnDelete { set; get; }

• Count

Tanım: Tablodaki kayıt sayısını belirtir. Tipi: System.Int32 Deklarasyon: public int Count { get; }

• Data

Tanım: Tablodaki veriyi belirtir. Tipi: System.Data.DataTable Deklarasyon: public DataTable Data { set; get; }

• DeleteButtonText

Tanım: Sil butonunun yazısını günceller. Tipi: System.String Deklarasyon: public string AddNewButtonText { set; get; }

• DeleteConfirmMessage

Tanım: Silme işlemini onaylatmak için çıkan mesajı belirtir. Tipi: System.String Deklarasyon: public string DeleteConfirmMessage { set; get; }

• DeleteEnable

Tanım: Sil butonunun görünüp görünmemesini sağlar. Tipi: System.Boolean Deklarasyon: public bool DeleteButtonEnable { set; get; }

• DeleteImageUrl

Tanım: Sil butonunun ikon dosya yolunu belirtir. Tipi: System.String Deklarasyon: public string DeleteImageUrl { set; get; }

• EnableSorting

Tanım: Sıralama etkinlik modu Tipi: System.Boolean Deklarasyon: public bool EnableSorting { get; set; }

• DescendingSorting

Tanım: Azalan sıralama Tipi: System.Boolean Deklarasyon: public bool DescendingSorting { get; set; }

• FillDataOnPageLoad

Tanım: Veriler sayfa yüklenirken mi dolsun değeridir Tipi: System.Boolean Deklarasyon: public bool FillDataOnPageLoad { get; set; }

• FullRowSelection

Tanım: True olarak belirlendiğinde satıra tıklandığında satır seçimi yapılabilmeyi sağlar. False olduğunda seçim butonuna tıklanarak seçim yapılabilir.
Tipi: System.Boolean Deklarasyon: public bool FullRowSelection { set; get; }

• HeaderAlign

Tanım: Başlık konumu bilgisidir Tipi: eBAControls.HeaderAlignType Deklarasyon: public eBAControls.HeaderAlignType HeaderAlign { get; set; } Aldığı Değerler: Left Top

• HeaderVisible

Tanım: Başlık görünümü durumudur Tipi: System.Boolean Deklarasyon: public bool HeaderVisible { get; set; }

• IsTreeGrid

Tanım: Ağaç yapısı etkinlik durumu Tipi: System.Boolean Deklarasyon: public bool IsTreeGrid { get; set; }

• ModalForm

Tanım: Detaylar nesnesine bağlı modal form bilgisi Tipi: System.String Deklarasyon: public string ModalForm { get; set; }

• ModalProject

Tanım: Detaylar nesnesine bağlı formun dahil olduğu proje adı Tipi: System.String Deklarasyon: public string ModalProject { get; set; }

• ModalView

Tanım: Detaylar nesnesine bağlı formun view bilgisi Tipi: System.String Deklarasyon: public string ModalView { get; set; }

• OwnerDocumentId

Tanım: Detaylar nesnesinin bulunduğu formun form id bilgisi Tipi: System.Integer Deklarasyon: public int OwnerDocumentId { get; set; }

• Paging

Tanım: Sayfalama özelliğidir Tipi: eBAControls.CustomPaging Deklarasyon: public eBAControls.CustomPaging Paging { get; set; }

eBAControls.CustomPaging;

• public int DisplayPageCount { get; set; } : Görüntülenen sayfa sayısı değeridir • public int PageSize { get; set; } : Sayfa boyutu değeridir • public bool Visible { get; set; } : Görünürlük durumudur

• PagingDisplayPageCount

Tanım: Görüntülenen sayfa sayısı değeridir Tipi: System.Integer Deklarasyon: public int PagingDisplayPageCount { get; set; }

• ReadOnly

Tanım: Nesnenin düzenleme özelliğini kapatmayı sağlar.
Tipi: System.Boolean Deklarasyon: public bool ReadOnly { set; get; }

• SelectButtonText

Tanım: Seçim butonunun yazısını günceller. Tipi: System.String Deklarasyon: public string SelectButtonText { set; get; }

• SelectEnable

Tanım: Seçim butonunun görünüp görünmemesini sağlar. Tipi: System.Boolean Deklarasyon: public bool SelectButtonEnable { set; get; }

• SelectImageUrl

Tanım: Seçim butonu ikon Url bilgisidir Tipi: System. String Deklarasyon: public string SelectImageUrl { get; set; }

3.12.3. Metotlar

• Clear

Tanım: Tüm kayıtları siler. Deklarasyon: public void Clear()

• CreateRow

Tanım: Tablonun yapısına göre örnek bir DataRow tipinde kayıt nesnesi oluşturur. Bu kaydı tabloya eklemek için InsertRow metotu kullanılır. Deklarasyon: public System.Data.DataRow CreateRow() Dönüş Değeri: System.Data.DataRow

• DeleteRow(DataRow)

Tanım: DataRow ile belirtilen kaydı siler. Deklarasyon: public void DeleteRow(System.Data.DataRow dr) Parametreler: dr: Silenecek kayıt

• DeleteRow(int)

Tanım: İndeks numarası ile kaydı siler. Deklarasyon: public void DeleteRow(int index) Parametreler: index: Kaydın indeks numarası

• InsertRow(System.Data.DataRow)

Tanım: Tabloya kayıt ekler. CreateRow metodu ile oluşturulan kayıt örneğinin içeriği düzenlendikten sonra InsertRow metoduna parametre geçirilerek kayıt eklenir. Deklarasyon: public void InsertRow(System.Data.DataRow dr) Parametreler: dr: Eklenecek kaydı belirtir.

• SelectRow(DataRow)

Tanım: Satır seçer. Deklarasyon: public void SelectRow(System.Data.DataRow dr) Parametreler: dr: Seçilecek kayıt

• SelectRow(int)

Tanım: Satır seçer. Deklarasyon: public void SelectRow(int index) Parametreler: index: Seçilecek kaydın indeks numarasını belirtir.

• SetRowCheck(DataRow, bool)

Tanım: Satırın seçimin kutusunun değerini günceller. Deklarasyon: public void SetRowCheck (System.Data.DataRow dr, bool check) Parametreler: dr: Güncellenecek satırı belirtir. check: Seçim değerini belirtir.

• SetRowCheck(int, bool)

Tanım: Satır seçim kutusunun değerini günceller. Deklarasyon: public void SetRowCheck(int index, bool check) Parametreler: index: Güncellenecek satırın indeks numarasını belirtir. check: Seçim değerini belirtir.

3.12.4. Olaylar

• RowCheck

Tanım: Tablonun seçim kutusunun statüsü değiştiğinde oluşur. Deklarasyon: public void RowCheck(object sender, bool state, DataRow dr) Parametreler:
sender: Tablo/Detaylar nesnesini belirtir. state: Seçim kutusunun değerini belirtir. dr: İşlem yapılan satır bilgilerini belirtir.

Örnek:
public void Table1_RowCheck(object sender, bool state, DataRow dr) { if (state) Text1.Text = "checked"; else Text1.Text = "unchecked"; if (dr.IsNull("OSUSERS_ID")) Text1.Text += " [NULL]"; else Text1.Text += " [" + dr["OSUSERS_ID"].ToString() + "]";
}

• RowDeleting

Tanım: Satır silinmeden önce çalışır. Olay parametreleri içerisinde bulunan ‘allow’ değişkeni ile silme işlemi iptal edilebilir. Deklarasyon: public void RowDeleting(object sender, eBATableDeleteRowEventArgs args, DataRow dr) Parametreler:
sender: Tablo/Detaylar nesnesini belirtir. args: Satır silme parametrelerini belirtir. eBATableDeleteRowEventArgs sınıfı allow (bool) özelliğine sahiptir. Bu özelliğin değerine göre silme işlemi yapılır ya da iptal edilir. dr: Silinmek istenen satır bilgilerini belirtir.

Örnek:
public void Detaylar1_RowDeleting(object sender, eBATableDeleteRowEventArgs args, DataRow dr) { args.allow = false;
}

• RowDeleted

Tanım: Satır silindikten sonra çalışır. Deklarasyon: public void RowDeleted(object sender, DataRow dr) Parametreler:
sender: Tablo/Detaylar nesnesini belirtir. dr: Silinen satır bilgilerini belirtir.

• RowInserted

Tanım: Satır eklendikten sonra çalışır. Deklarasyon: public void RowInserted(object sender, DataRow dr) Parametreler:
sender: Tablo/Detaylar nesnesini belirtir. dr: Eklenen satır bilgilerini belirtir.

• RowInserting

Tanım: Satır eklenmeden önce çalışır. ‘allow’ değişkeni ile ekleme işlemi iptal edilebilir. Deklarasyon: public void RowInserting(object sender , eBATableInsertRowEventArgs args, DataRow dr) Parametreler:
sender: Tablo/Detaylar nesnesini belirtir. args: Olay parametrelerini belirtir. eBATableInsertRowEventArgs sınıfı allow (bool) özelliğine sahiptir. Bu özelliğin değerine göre ekleme işlemi yapılır ya da iptal edilir. dr: Eklenecek satır bilgilerini belirtir.

Örnek:

public void Detaylar1_RowInserting(object sender, eBATableInsertRowEventArgs args, DataRow dr) { if(Detaylar1.Count>4) args.allow = false;
}

• RowSelected

Tanım: Tablo nesnesinde satır seçildikten sonra çalışır.
Deklarasyon: public void RowSelected(object sender, DataRow dr) Parametreler:
sender: Tablo nesnesini belirtir. dr: Seçilen satırın bilgilerini belirtir.

Örnek:
public void Tablo1_RowSelected(object sender, DataRow dr) { if (dr.IsNull("OSUSERS_ID")) Text1.Text = "NULL"; else Text1.Text = dr["OSUSERS_ID"].ToString(); } Not Bu olay sadece Tablo nesnesinde mevcuttur.

• AfterShowModal

Tanım: Detaylar nesnesine bağlı form açılıp, gerekli işlemler yapıldıktan sonra tekrar detaylar nesnesinin olduğu forma dönülürken çalışan eventtir. Deklarasyon: public void AfterShowModal(object sender, eBATableModalEventArgs args) Parametreler:
sender: Detaylar nesnesini belirtir. args: Modal olay parametrelerini belirtir.

Not Bu olay sadece Detaylar nesnesinde mevcuttur.

• BeforeShowModal

Tanım: Modal form açılmadan önce çalışan olaydır. Modal forma, parametre geçirmek için kullanılıt Deklarasyon: public void BeforeShowModal(object sender, eBATableModalEventArgs args) Parametreler:
sender: Detaylar nesnesini belirtir. args: Modal forma gönderilecek parametreleri belirtir.

Not Bu olay sadece Detaylar nesnesinde mevcuttur.

3.12.5. eBATableModalEventArgs Sınıfı 3.12.5.1. Özellikler

• allow

Tanım: Değere göre modal açma işlemine izin verilir. Tipi: System.Boolean Deklarasyon: public bool allow

• documentId

Tanım: Modal olarak açılacak formun global Id’sini belirtir. Tipi: System.Int32 Deklarasyon: public int documentId

• isnew

Tanım: Yeni kayıt ekleme durumunu belirtir. Detaylar nesnesinde “Ekle” butonu ile yeni bir modal form açılabilir ya da daha önceden detaylara eklenmiş bir modal form, düzenle butonuna basılarak açılabilir. Modal formdan ana forma dönüldüğünde, açılan modal formun daha önceden eklenmiş bir form mu olduğu ya da yeni mi oluşturulduğu bilgisini dönen parametredir Tipi: System. Boolean Deklarasyon: public bool isnew

• modalResult

Tanım: Modaldan dönüş değeridir. ModalResult.Ok yada ModalResult.Cancel enum değerlerini alır. Tipi: eBAControls.ModalResult Deklarasyon: public eBAControls.ModalResult modalResult

• parameters

Tanım: Modaldan dönüş parametleridir. Modal formdan ana forma parametre geçirmek için kullanılır.
Tipi: eBAControls.ModalParameters Deklarasyon: public eBAControls.ModalParameters parameters

Not ModalParameters sınıfı ile ilgili detaylı bilgiyi 3.10.6 ModalParameters Sınıfı başlıklıklı bölümde bulabilirsiniz.

• selectedRow

Tanım: Seçili satır bilgisi Tipi: System.Data.DataRow Deklarasyon: System.Data.DataRow selectedRow

3.12.6. ModalParameters Sınıfı

3.12.6.1. Özellikler

• Parameters

Tanım: Parametre listesini belirtir. Tipi: System.Collections.Generic.List<ModalParameter> Deklarasyon: public System.Collections.Generic.List<ModalParameter> Parameters

• this[string]

Tanım: Listeye eklenmiş parametreye adı ile erişmek için kullanılır. Tipi: object Deklarasyon: public object this[string parameter] { set; get; }

3.12.6.2. Metotlar

• Add(string, object)

Tanım: Nesnenin orjinal ismi verilerek satırlardaki o nesnenin listesini verir. Deklarasyon: public void Add(string Key, object Value) Parametreler: Key: Parametre adını belirtir. Value: Parametre değerini belirtir.

3.12.7. ModalParameter Sınıfı

ModalParameter, Modal forma gönderilecek parametrelerin sınıfıdır. 3.12.7.1. Özellikler

• Key

Tanım: Parametre adını belirtir. Tipi: System.String Deklarasyon: public string Key

• Value

Tanım: Parametre değerini belirtir. Tipi: System.Object Deklarasyon: public object Value

3.12.8. Validasyon

Tablo ve Detaylar nesnesinin yapıları farklı olduklarından dolayı validasyonda farklı kullanım mevcuttur.

3.12.8.1. Detaylar Nesnesi

Validasyon kodlamasında, detaylar nesnesi, obje ismi ile çağrıldığında, List<eBADetailsItem> tipinde bir liste dönmektedir. Böylece detaylar nesnesine eklenmiş olan modal formların bilgilerine erişilerek gerekli kontroller yapılabilir.

eBADetailsItem sınıfının özellikleri aşağıda belirtilmektedir. • int documentId: Formun global Id’sini belirtir. • bool check: Satırların işaretlenme durumlarını belirtir.

Örnek: Örnekte, detaylar nesnesine eklenen tüm satırların işaretlenmiş olması kontrol edilmektedir. public override void OnValidateDocument(string view, bool canEdit, Hashtable parameters, ValidationSummary summary) { foreach(eBADetailsItem item in Details1) { if (!item.check) { Summary.AddMessage(item.documentId.ToString() + " is not checked"); } } }

3.12.8.2. Tablo Nesnesi

Validasyon kodlamasında, tablo nesnesi, obje ismi ile çağrıldığında, DataTable tipinde tabloya eklenmiş tüm satırların bilgilerini içeren veri döner.

Örnek: Örnekte, bir kolona veri girişinin zorunluluğu kontrol edilmektedir. public override void OnValidateDocument(string view, bool canEdit, Hashtable parameters, ValidationSummary summary) { foreach(DataRow dr in Table1) { if (dr.IsNull("USERID") || string.IsNullOrEmpty(dr["USERID"].ToString())) { Summary.AddMessage("Sicil no zorunludur."); } } }

3.12.9. Örnekler

• Detaylar nesnesine yeni kayıt eklemek için

  1. CreateRow metodu ile örnek bir DataRow oluşturun.
  2. InsertRow metodu ile oluşturulan DataRow’u detaylar nesnesine ekleyin.
  3. RefreshDetails metodu ile detaylar nesnesinin değerlerini yenileyin. DataRow dr = Detaylar1.CreateRow(); dr["CHECKED"]=0; dr["DOCUMENTID"] = 1001; // Modal Form Id
    Detaylar1.InsertRow(dr); RefreshDetails(Detaylar1);

• Tablo nesnesine programatik olarak kayıt eklemek için

  1. CreateRow metodu ile örnek bir DataRow oluşturun.
  2. InsertRow metodu ile oluşturulan DataRow’u detaylar nesnesine ekleyin.

Aşağıdaki örnekte UserId ve UserName adlı 2 kolonu bulunan tabloya kayıt eklenmektedir. DataRow dr = Tablo1.CreateRow(); dr["CHECKED"]=0; dr["UserId"] = "0010"; dr["UserName"] = "John Smith"; Tablo1.InsertRow(dr);

• Detaylar nesnesinden açılan modal forma parametre geçirmek için

  1. BeforeShowModal olayında parametreler ekleyin.
    2. Modal formun OnModalLoad eventinde bu parametre değerlerine erişin.

Aşağıdaki örnekte, ana formdaki bir metin kutusu değeri, modal forma iletilmektedir.

// Ana form üzerindeki Detaylar nesnesinin BeforeShowModal olayı public void Detaylar1_BeforeShowModal(object sender, eBATableModalEventArgs args) { args.parameters.Add("value1",Text1.Text);
}

// Modal formun OnModalLoad olayı public void OnModalLoad(ModalParameters parameters) { Text2.Text=(string)parameters["value1"]; }

• Detaylar nesnesinde modal formdan ana forma parametre geçirmek için

  1. Modal formun OnModalUnload olayında parametre ekleyin.
  2. Ana formdaki detaylar nesnesinin AfterShowModal olayında bu değere erişin.

Aşağıdaki örnekte, modal formdaki metin kutusu değeri ana forma aktarılmaktadır.

// Modal formun OnModalUnload olayı public void OnModalUnload(eBAModalEventArgs args) { args.parameters.Add("value1",Text2.Text);
}

// Ana formdaki detaylar nesnesinin AfterShowModal olayı public void Detaylar1_AfterShowModal(object sender, eBATableModalEventArgs args) { Text1.Text=(string)args.parameters["value1"];
}

3.13. Detay Tablo

Detay tablo nesnesi, eBAControls.eBADetailsGrid sınıfından türemektedir.

3.13.1. Özellikler

• AddNewEnable

Tanım: Yeni satır ekleme butonunun aktif olma durumudur. Tipi: System.Boolean Deklarasyon: public bool AddNewEnable { set; get; }

• Bordered

Tanım: Tablo gösterilirken satırlar ve sütunlar arasında kenarlık çizgileri olma durumudur. Tipi: System.Boolean Deklarasyon: public bool Bordered { set; get; }

• CurrentRowCount

Tanım: Tablodaki mevcut satır sayısını gösterir. Tipi: System.Int32 Deklarasyon: public int CurrentRowCount { set; get; }

• DeleteEnable

Tanım: Son satırı silme butonunun aktif olma durumudur. Tipi: System.Boolean Deklarasyon: public bool DeleteEnable { set; get; }

• HeaderAlign Tanım: Başlık satırının konumunu belirler. Top ve Left olarak 2 farklı modu vardır. Tipi: eBAControls.HeaderAlignType Deklarasyon: public eBAControls.HeaderAlignType HeaderAlign { set; get; }

• Margin

Tanım: Tabloda satır ve sütunlar arasındaki mesafeyi belirler. Tipi: System.Int32 Deklarasyon: public int Margin { set; get; }

• MaximumRowCount

Tanım: Tabloya eklenebilecek maksimum satır sayısını verir. Tipi: System.Int32 Deklarasyon: public int MaximumRowCount { set; get; }

• ReadOnly

Tanım: Nesnenin verisinin değiştirilip değiştirilmeyeceğini belirler. Tipi: System.Boolean Deklarasyon: public bool ReadOnly { get; set; }

• RowHeaders

Tanım: Görüntülenen başlıkların listesidir. Tipi: System.Collections.Generic.List<string> Deklarasyon: public System.Collections.Generic.List<string> RowHeaders { set; get; }

• ShowRowHeader

Tanım: Başlık satırının görüntülenip görüntülenmediğini verir. Tipi: System.Boolean Deklarasyon: public bool ShowRowHeader { set; get; }

• ShowRowNumber

Tanım: Satır numaralarının görüntülenip görüntülenmeyeceğini verir. Tipi: System.Boolean Deklarasyon: public bool ShowRowNumber { set; get; }

• Visible

Tanım: Nesnenin görünür olup olmayacağını belirler. Tipi: System.Boolean Deklarasyon: public bool Visible { get; set; }

• Columns

Tanım: Kolonların listesidir. İçerisinde başlıkların ismi ve kullanılan etiket kontrolleri bulunur. Tipi: eBAControls.eBADetailsGridColumns Deklarasyon: public eBAControls.eBADetailsGridColumns Columns

• Rows

Tanım: Satırların listesidir. İçerisinde hücrelerin listesi bulunur. Hücreler içersinde kullanılan kontrollere ve orjinal isimlerine ulaşılabilir. Tipi: eBAControls.eBADetailsGridRows Deklarasyon: public eBAControls.eBADetailsGridRows Rows

3.13.2. Metotlar

• GetControls(string)

Tanım: Nesnenin orjinal ismi verilerek satırlardaki o nesnenin listesini verir. Deklarasyon: public System.Collections.Generic.List<WebControl> GetControls(string name) Dönüş Değeri: System.Collections.Generic.List<WebControl> Parametreler: name: Alınmak istenilen nesnenin orjinal adını belirtir.

• GetObjectRowIndex(object)

Tanım: Parametre geçilen nesnenin tablodaki satır indeksini verir. Deklarasyon: public int GetObjectRowIndex(object obj) Dönüş Değeri: System.Int32 Parametreler: obj: Satır indeksi alınmak istenen nesneyi belirtir.

• GetOriginalControlNames

Tanım: Nesne içerisindeki kontrollerin orjinal isimlerinin listesini verir. Deklarasyon: public System.Collections.Generic.List<string> GetOriginalControlNames() Dönüş Değeri: System.Collections.Generic.List<string>

• GetRowObject(int, string)

Tanım: Nesne içerisinde satır indeksi ve orjinal kontrol ismi verilerek hücredeki kontrolü almak için kullanılır. Deklarasyon: public System.Web.UI.WebControls.WebControl GetRowObject(int row, string objname) Dönüş Değeri: System.Web.UI.WebControls.WebControl Parametreler: row: Erişilmek istenen satır numarasını belirtir. objname: Erişilmek istenen kontrolün orjinal adını belirtir.

3.13.3. Olaylar

• RowDeleting

Tanım: Satır silinmeden önce çalışır. Olay parametreleri içerisinde bulunan ‘allow’ değişkeni ile silme işlemi iptal edilebilir. Deklarasyon: public void RowDeleting(object sender, DetailsGridDeleteRowEventArgs args) Parametreler:
sender: Detay tablo nesnesini belirtir. args: Olay parametrelerini belirtir.

Örnek:
public void DetailsGrid1_RowDeleting(object sender, DetailsGridDeleteRowEventArgs args) { args.allow = false;
}

• RowDeleted

Tanım: Satır silindikten sonra çalışır. Deklarasyon: public void RowDeleted(object sender) Parametreler:
sender: Detay tablo nesnesini belirtir.

• RowInserted

Tanım: Satır eklendikten sonra çalışır. Olay parametrelerinden ‘RowCount’ değişkeni ile kaç satır eklendiğine erişilebilir. Deklarasyon: public void RowInserted(object sender, DetailsGridInsertedRowEventArgs args) Parametreler:
sender: Detay tablo nesnesini belirtir. args: Olay parametrelerini belirtir.

• RowInserting

Tanım: Satır eklenmeden önce çalışır. Olay parametrelerinden ‘RowCount’ değişkeni ile kaç satır eklendiğine erişilebilir. ‘allow’ değişkeni ile ekleme işlemi iptal edilebilir. Deklarasyon: public void RowInserting(object sender, DetailsGridInsertRowEventArgs args) Parametreler:
sender: Detay tablo nesnesini belirtir. args: Olay parametrelerini belirtir.

Örnek:
public void DetailsGrid1_RowInserting(object sender, DetailsGridInsertRowEventArgs args) { if(args.RowCount > 3) { args.allow = false; } }

3.14. Ekli Dosyalar

Ekli dosyalar nesnesi, eBAControls.eBAAttachments sınıfından türemektedir.

3.14.1. Özellikler

• AddButtonText

Tanım: Ekleme butonunun ismini almak ve değiştirmek için kullanılır. Tipi: System.String Deklarasyon: public string AddButtonText { set; get; }

• AddNewEnable

Tanım: Yeni ekleme butonunun görünüp görünmeyeceğini verir. Tipi: System.Boolean Deklarasyon: public bool AddNewEnable { set; get; }

• Categories

Tanım: Ekli dosya kategori listesini verir. Kategorinin ismi, açıklaması ve kategori içinde bulunan dosyaların isim, açıklama ve boyut gibi bilgilere erişilebilir. Tipi: System.Collections.Generic.List<eBAAttachmentCategory> Deklarasyon: public System.Collections.Generic.List<eBAAttachmentCategory> Categories { set; get; }

• CategoryDescriptionEnable

Tanım: Kategori açıklama alanının görünürlülüğünü verir. Tipi: System.Boolean Deklarasyon: public bool CategoryDescriptionEnable { set; get; }

• CategoryFilter

Tanım: Ekli dosya nesnesinde görüntülenmek istenen kategorilerin listesidir. Tipi: System.Collections.Generic.List<eBAAttachmentCategory> Deklarasyon: public System.Collections.Generic.List<eBAAttachmentCategory> CategoryFilter { set; get; }

• DeleteEnable

Tanım: Silme butonunun görünüp görünmeyeceğini verir. Tipi: System.Boolean Deklarasyon: public bool DeleteEnable { set; get; }

• DescriptionEnable

Tanım: Ekli dosyaların açıklamalarının görüntülenme durumudur. Tipi: System.Boolean Deklarasyon: public bool DescriptionEnable { set; get; }

• DescriptionRequired

Tanım: Yeni ekli dosya eklerken açıklama alanının zorunlu olarak girilmesini sağlar. Tipi: System.Boolean Deklarasyon: public bool DescriptionRequired { set; get; }

• Filename

Tanım: Formun doküman yönetim sistemindeki yolunu verir. Tipi: System.String Deklarasyon: public string Filename { set; get; }

• ReadOnly

Tanım: Nesnenin verisinin değiştirilip değiştirilmeyeceğini belirler. Tipi: System.Boolean Deklarasyon: public bool ReadOnly { get; set; }

• ShowContentForImages

Tanım: Değeri ‘true’ ise eklenen resim dosyalarının ön izlemesi nesne üzerinde gösterilir. Tipi: System.Boolean Deklarasyon: public bool ShowContentForImages { set; get; }

• ViewEnable

Tanım: Eklenen dosyaların görüntülenme durumudur. Tipi: System.Boolean Deklarasyon: public bool ViewEnable { set; get; }

3.14.2. Metotlar

• FileCount

Tanım: Toplam ekli dosya sayısını verir. Deklarasyon: public int FileCount() Dönüş Değeri: System.Int32

• FileCount(string)

Tanım: İstenilen kategorideki dosya sayısını verir. Deklarasyon: public int FileCount(string category) Dönüş Değeri: System.Int32 Parametreler:
category: Dosya sayısı alınmak istenen kategoriyi belirtir.

• GetCategories

Tanım: Ekli dosya kategori listesini verir. Kategorinin ismi, açıklaması ve kategori içinde bulunan dosyaların isim, açıklama ve boyut gibi bilgilere erişilebilir. Deklarasyon: public eBAControls.AttachmentCategories GetCategories() Dönüş Değeri: eBAControls.AttachmentCategories

• HasFile(string, string)

Tanım: Verilen kategoride istenilen dosya var mı kontrol eder. Deklarasyon: public bool HasFile(string category, string filename) Dönüş Değeri: System.Boolean Parametreler:
category: Ekli dosya kategorisini belirtir. filename: Ekli dosya adını belirtir.

• LoadAttachments

Tanım: Ekli dosyaları manuel yeniden yüklemek için kullanılır. Deklarasyon: public void LoadAttachments()

3.14.3. Olaylar

• OnAfterAttach

Tanım: Ekli dosya eklendikten sonra çalışır. Olay parametrelerinden eklenen dosya ve kategorisine erişilebilir. Deklarasyon: public void OnAfterAttach(object sender, eBAAttachmentFileEventArgs e) Parametreler:
sender: Ekli dosyalar nesnesini belirtir. e: Olay parametrelerini belirtir.

Örnek:
public void Attachment1_OnAfterAttach(object sender, eBAAttachmentFileEventArgs e) {

}

• OnBeforeAttach

Tanım: Ekli dosya eklenmeden önce çalışır. Olay parametrelerinden eklenen dosya ve kategorisine erişilebilir. ‘allow’ değişkeni ile ekleme işlemi iptal edilebilir. Deklarasyon: public void OnBeforeAttach(object sender,eBAAddAttachmentFileEventArgs e) Parametreler:
sender: Ekli dosyalar nesnesini belirtir. e: Olay parametrelerini belirtir.

Örnek:
public void Attachment1_OnBeforeAttach(object sender,eBAAddAttachmentFileEventArgs e) { if(e.Filename == "eBA.txt") { e.allow = false; } }

• OnAfterDelete

Tanım: Ekli dosya silindikten sonra çalışır.
Deklarasyon: public void OnAfterDelete(object sender) Parametreler:
sender: Ekli dosyalar nesnesini belirtir.

Örnek:
public void Attachment1_OnAfterDelete(object sender) {

}

• OnBeforeDelete

Tanım: Ekli dosya silinmeden önce çalışır. Olay parametrelerinden silinen dosya ve kategorisine erişilebilir. ‘allow’ değişkeni ile silme işlemi iptal edilebilir. Deklarasyon: public void OnBeforeDelete(object sender, eBADeleteAttachmentFileEventArgs e) Parametreler:
sender: Ekli dosyalar nesnesini belirtir. e : Olay parametrelerini belirtir.

Örnek:
public void Attachment1_OnBeforeDelete(object sender, eBADeleteAttachmentFileEventArgs e) { e.allow = false; }

3.15. İlişkili Dokümanlar

İlişkili dokümanlar nesnesi eBAControls.eBARelations sınıfından türemektedir.

3.15.1. Özellikler

• AddButtonText

Tanım: Ekleme butonunun ismini almak ve değiştirmek için kullanılır. Tipi: System.String Deklarasyon: public string AddButtonText { set; get; }

• AddNewEnable

Tanım: Yeni ekleme butonunun görünüp görünmeyeceğini verir. Tipi: System.Boolean Deklarasyon: public bool AddNewEnable { set; get; }

• Categories

Tanım: İlişkili doküman kategori listesini verir. Kategorinin ismi, açıklaması ve kategori içinde bulunan dosyaların isim, açıklama gibi bilgilere erişilebilir. Tipi: System.Collections.Generic.List<eBAAttachmentCategory> Deklarasyon: public System.Collections.Generic.List<eBAAttachmentCategory> Categories { set; get; }

• CategoryDescriptionEnable

Tanım: Kategori açıklama alanının görünürlülüğünü verir. Tipi: System.Boolean Deklarasyon: public bool CategoryDescriptionEnable { set; get; }

• CreateButtonText

Tanım: Yeni dosya oluşturma butonunun ismini almak ve değiştirmek için kullanılır. Tipi: System.String Deklarasyon: public string CreateButtonText { set; get; }

• CreateDocumentName

Tanım: Yeni dosya oluşturarak ilişki kurulurken oluşturulan dosyanın isminin ne olacağını belirlemek içindir. Uzantı yazılmaz ise kullanıcının seçtiği dosyanın uzantısıyla dosya oluşturulur. Tipi: System.String Deklarasyon: public string CreateDocumentName { set; get; }

• CreateEnable

Tanım: Yeni dosya oluşturma butonunun görünürlülük durumudur. Tipi: System.Boolean Deklarasyon: public bool CreateEnable { set; get; }

• CreatePath

Tanım: Yeni dosya oluşturarak ilişki kurulurken oluşturulacak dosyanın doküman yönetim sistemindeki yoludur. Tipi: System.String Deklarasyon: public string CreatePath { set; get; }

• DeleteEnable

Tanım: Silme butonunun görünüp görünmeyeceğini verir. Tipi: System.Boolean Deklarasyon: public bool DeleteEnable { set; get; }

• DescriptionEnable

Tanım: İlişkili dosyanın açıklamalarının görüntülenme durumudur. Tipi: System.Boolean Deklarasyon: public bool DescriptionEnable { set; get; }

• DescriptionRequired

Tanım: Yeni ilişkişi doküman eklerken açıklama alanının zorunlu olarak girilmesini sağlar. Tipi: System.Boolean Deklarasyon: public bool DescriptionRequired { set; get; }

• Filename

Tanım: Formun doküman yönetim sistemindeki yolunu verir. Tipi: System.String Deklarasyon: public string Filename { set; get; }

• HideFileExtension

Tanım: Dosya uzantısının görünürlüğü Tipi: System. Boolean Deklarasyon: public bool HideFileExtension { get; set; }

• ReadOnly

Tanım: Nesnenin verisinin değiştirilip değiştirilmeyeceğini belirler. Tipi: System.Boolean Deklarasyon: public bool ReadOnly { get; set; }

• ShowContentForImages

Tanım: Değeri ‘true’ ise eklenen resim dosyalarının ön izlemesi nesne üzerinde gösterilir. Tipi: System.Boolean Deklarasyon: public bool ShowContentForImages { set; get; }

• ShowCreateDate

Tanım: Dosya yükleme tarihinin görünürlüğü Tipi: System.Boolean Deklarasyon: public bool ShowCreateDate { get; set; }

• ShowCreator

Tanım: Dosya yükleyen bilgisinin görünürlüğü Tipi: System.Boolean Deklarasyon: public bool ShowCreator { get; set; }

• ViewEnable

Tanım: Eklenen dokümanların görüntülenme durumudur. Tipi: System.Boolean Deklarasyon: public bool ViewEnable { set; get; }

3.15.2. Metotlar

• FileCount

Tanım: Toplam ilişkili doküman sayısını verir. Deklarasyon: public int FileCount() Dönüş Değeri: System.Int32

• FileCount(string)

Tanım: İstenilen kategorideki doküman sayısını verir. Deklarasyon: public int FileCount(string category) Dönüş Değeri: System.Int32 Parametreler:
category: Doküman sayısı alınmak istenen kategoriyi belirtir.

• HasFile(string, string)

Tanım: Verilen kategoride istenilen dokümanın bulunduğunu kontrol eder. Deklarasyon: public bool HasFile(string category, string filename) Dönüş Değeri: System.Boolean Parametreler:
category: İlişkili doküman kategorisini belirtir. filename: İlişkili doküman adını belirtir.

• LoadRelations

Tanım: İlişkili dokümanları elle yeniden yüklemek için kullanılır. Deklarasyon: public void LoadRelations()

3.15.3. Olaylar

• OnAfterRelation

Tanım: İlişkili doküman eklendikten sonra çalışır. Olay parametrelerinden eklenen doküman ve kategorisine erişilebilir. Deklarasyon: public void OnAfterRelation(object sender, eBARelationFileEventArgs e) Parametreler:
sender: İlişkili dokümanlar nesnesini belirtir. e: Olay parametrelerini belirtir.

Örnek:
public void RelatedDocuments1_OnAfterRelation(object sender, eBARelationFileEventArgs e) {

}

• OnBeforeRelation

Tanım: İlişkili doküman eklenmeden önce çalışır. Olay parametrelerinden eklenen doküman ve kategorisine erişilebilir. ‘allow’ değişkeni ile ekleme işlemi iptal edilebilir. Deklarasyon: public void OnBeforeRelation(object sender,eBAAddRelationFileEventArgs e) Parametreler:
sender: İlişkili dokümanlar nesnesini belirtir. e: Olay parametrelerini belirtir.

Örnek:
public void RelatedDocuments1_OnBeforeRelation(object sender,eBAAddRelationFileEventArgs e) { if(e.Filename == "eBA.txt") { e.allow = false; } }

• OnAfterDelete

Tanım: İlişkili doküman silindikten sonra çalışır.
Deklarasyon: public void OnAfterDelete(object sender) Parametreler:
sender: İlişkili dokümanlar nesnesini belirtir.

Örnek:
public void RelatedDocuments1_OnAfterDelete(object sender) {

}

• OnBeforeDelete

Tanım: İlişkili doküman silinmeden önce çalışır. Olay parametrelerinden silinen doküman ve kategorisine erişilebilir. ‘allow’ değişkeni ile silme işlemi iptal edilebilir. Deklarasyon: public void OnBeforeDelete(object sender, eBADeleteRelationFileEventArgs e) Parametreler:
sender: İlişkili dokümanlar nesnesini belirtir. e : Olay parametrelerini belirtir.

Örnek:
public void RelatedDocuments1_OnBeforeDelete(object sender, eBADeleteRelationFileEventArgs e) { e.allow = false; }

3.16. HTML Metin Kutusu

HTML metin kutusu nesnesi eBAControls.eBAHtmlEditor sınıfından türemektedir.

3.16.1. Özellikler

• ReadOnly

Tanım: Nesnenin verisinin değiştirilip değiştirilmeyeceğini belirler. Tipi: System.Boolean Deklarasyon: public bool ReadOnly { get; set; }

• Text

Tanım: Metin kutusu içindeki metni değiştirmek yada almak için kullanılır. Tipi: System.String Deklarasyon: public string Text { get; set; }

• Visible

Tanım: Nesnenin görünür olup olmayacağını belirler. Tipi: System.Boolean Deklarasyon: public bool Visible { get; set; }

3.17. Barkod

Barkod nesnesi eBAControls.eBABarcodeControl sınıfından türemektedir.

3.17.1. Özellikler

• Code

Tanım: Barkodu oluşturulacak veriyi belirtir. Tipi: System.String Deklarasyon: public string Code { set; get; }

• Type

Tanım: Barkod tipini verir. eBABarcodeGenerator.Symbology içerisinden istenilen tipten barkod oluşturabilmek mümkündür. Tipi: eBABarcodeGenerator.Symbology Deklarasyon: public eBABarcodeGenerator.Symbology Type { set; get; }

3.18. Onaylayanlar

Onaylayanlar nesnesi, “eBAControls.documentHistoryBase” sınıfındandır.

3.18.1. Özellikler

• documentId

Tanım: Onaylayanlar nesnesinin bulunduğu formun id değeridir Tipi: System.Integer Deklarasyon: public int documentId { get; set; }

• ShowDepartment

Tanım: Onaylayanlar nesnesinde aksiyon alan kişinin departman bilgisinin görünürlüğü Tipi: System.Boolean Deklarasyon: public bool ShowDepartment { get; set; }

• ShowDepartmentId

Tanım: Onaylayanlar nesnesinde aksiyon alan kişinin departman id bilgisinin görünürlüğü Tipi: System.Boolean Deklarasyon: public bool ShowDepartmentId { get; set; }

• ShowEmail

Tanım: Onaylayanlar nesnesinde aksiyon alan kişinin email bilgisinin görünürlüğü Tipi: System.Boolean Deklarasyon: public bool ShowEmail { get; set; }

• ShowNameAndSurname

Tanım: Onaylayanlar nesnesinde aksiyon alan kişinin isim ve soyisim bilgisinin görünürlüğü Tipi: System.Boolean Deklarasyon: public bool ShowNameAndSurname { get; set; }

• ShowPosition

Tanım: Onaylayanlar nesnesinde aksiyon alan kişinin pozisyon bilgisinin görünürlüğü Tipi: System.Boolean Deklarasyon: public bool ShowPosition { get; set; }

• ShowPositionId

Tanım: Onaylayanlar nesnesinde aksiyon alan kişinin pozisyon id bilgisinin görünürlüğü Tipi: System.Boolean Deklarasyon: public bool ShowPositionId { get; set; }

• ShowProfession

Tanım: Onaylayanlar nesnesinde aksiyon alan kişinin ünvan bilgisinin görünürlüğü Tipi: System.Boolean Deklarasyon: public bool ShowProfession{ get; set; }

• ShowProfessionId

Tanım: Onaylayanlar nesnesinde aksiyon alan kişinin ünvan id bilgisinin görünürlüğü Tipi: System.Boolean Deklarasyon: public bool ShowProfessionId { get; set; }

• ShowUserId

Tanım: Onaylayanlar nesnesinde aksiyon alan kişinin kullanıcı adı bilgisinin görünürlüğü Tipi: System.Boolean Deklarasyon: public bool ShowUserId { get; set; }

• VisibleCustomProperties

Tanım: Görünür kullanıcı özelliklerinin listesi Tipi: System.Collections.Generic.List<string> Deklarasyon: public System.Collections.Generic.List<string> VisibleCustomProperties { get; set; }

3.19. Kullanıcı Bilgisi

Kullanıcı bilgisi nesnesi, formu oluşturan kullanıcının bilgilerinin otomatik olarak form üzerinde gösterilmesini sağlayan nesnedir. Kullanıcı bilgisi nesnesi “System.Web.UI.WebControls.TextBox” sınıfındandır.

3.19.1. Özellikler

Kullanıcı bilgisi nesnesi, metin kutusu nesnesi ile aynı sınıfa dahildir. Kullanıcı bilgisi nesnesinin özellikleri hakkında bilgi edinmek için, “Metin Kutusu” dokümanındaki “Özellikler” başlığını inceleyebilirsiniz. Kullanıcı bilgisi nesnesinin verisi düzenlemeye kapalıdır. Metin kutusu nesnesinin sahip olduğu; ReadOnly, MaxLength, Enabled özellikleri Kullanıcı Bilgisi nesnesi için set edilemez.

3.19.2. Validasyon

Form üzerindeki Kullanıcı bilgisi nesnesinin değerine göre validasyon kod kısmında kontrol yapıları oluşturabilmek için, kullanıcı bilgisi nesnesine direkt nesne ismi ile erişim sağlanır. Form kod kısmında kullanıcı bilgisi nesnesinin değerine erişmek için; belgeyiDolduran1.Text yapısı kullanılırken, validasyon kod kısmında direkt belgeyiDolduran1 şeklinde nesneye erişim sağlanabilir. Kullanıcı bilgisi nesnesinin özelliklerinde “Veritabanı Alanı Oluştur” seçeneği mevcuttur. Kod tarafında bu nesneye erişim sağlanabilmesi için, bu özelliğin seçili olması gerekmektedir.

Örnek; Formu “Ali Doğru” kullanıcısı oluşturmuşsa ve form üzerindeki Metin1 isimli metin kutusu nesnesi boşsa uyarı verdiren kod örneği aşağıdaki gibidir. Bu kontrolün gerçekleşebilmesi için, form üzerindeki “belgeyiDolduran1” isimli kullanıcı bilgisi nesnesinin özelliklerinde “İsim ve Soyisim” alanı seçilmeli ve “Veritabanı Alanı Oluştur” seçeneği işaretlenmelidir.

public override void OnValidateDocument(string view, bool canEdit, Hashtable parameters, ValidationSummary summary) { if (string.IsNullOrEmpty(Metin1) && belgeyiDolduran1 == "Ali Doğru")

summary.AddMessage("Ali Doğru kullanıcısı Metin1 alanını boş bırakamaz!");

}

3.20. Belge Bilgisi

Belge bilgisi nesnesi, forma ait form id, formun oluşturulma tarihi ve belirli formatta oluşturulan formun id bilgisi değerlerinin form üzerinde otomatik gösterilmesini sağlayan nesnedir. Belge bilgisi nesnesi “System.Web.UI.WebControls.TextBox” sınıfındandır.

3.20.1. Özellikler

Belge bilgisi nesnesi, metin kutusu nesnesi ile aynı sınıfa dahildir. Belge bilgisi nesnesinin özellikleri hakkında bilgi edinmek için, “Metin Kutusu” dokümanındaki “Özellikler” başlığını inceleyebilirsiniz. Belge bilgisi nesnesinin verisi düzenlemeye kapalıdır. Metin kutusu nesnesinin sahip olduğu; ReadOnly, MaxLength, Enabled özellikleri Belge Bilgisi nesnesi için set edilemez.

3.20.2. Validasyon

Form üzerindeki Belge bilgisi nesnesinin değerine göre validasyon kod kısmında kontrol yapıları oluşturabilmek için, belge bilgisi nesnesine direkt nesne ismi ile erişim sağlanır. Form kod kısmında belge bilgisi nesnesinin değerine erişmek için; belgeBilgisi1.Text yapısı kullanılırken, validasyon kod kısmında direkt belgeBilgisi1 şeklinde nesneye erişim sağlanabilir.

Belge bilgisi nesnesinin özelliklerinde “Veritabanı Alanı Oluştur” seçeneği mevcuttur. Kod tarafında bu nesneye erişim sağlanabilmesi için, bu özelliğin seçili olması gerekmektedir.

3.21. Form Bilgisi

Form bilgisi nesnesi, Form Başlığı ya da Proje Başlığı bilgisini otomatik olarak formun üzerinde gösteren nesnedir. Form bilgisi nesnesi “System.Web.UI.WebControls.Label” sınıfındandır.

3.21.1. Özellikler

Form bilgisi nesnesi, etiket nesnesi ile aynı sınıfa dahildir. Form bilgisi nesnesinin özellikleri hakkında bilgi edinmek için, “Etiket” dokümanındaki “Özellikler” başlığını inceleyebilirsiniz.

3.22. Resim

Form üzerinde resim göstermek için kullanılan nesnedir. Genellikle şirket logosu, kullanıcı fotografı gibi görsellerin form üzerinde gösterilmesi için kullanılır. Resim nesnesi “System.Web.UI.WebControls.Image” sınıfındandır.

3.22.1. Özellikler

• AlternateText

Tanım: Resmin görüntülenemediği durumlarda gösterilen alternatif metin Tipi: System.String Deklarasyon: public virtual string AlternateText { get; set; }

• DescriptionUrl

Tanım: Görüntü için bir ayrıntılı açıklama konumunu alır veya ayarlar Tipi: System.String Deklarasyon: public virtual string DescriptionUrl { get; set; }}

• GenerateEmptyAlternateText

Tanım: Denetimin boş bir dize değeri için alternatif metin özniteliği oluşturup oluşturmayacağını gösteren bir değer alır veya ayarlar Tipi: System.Boolean Deklarasyon: public virtual bool GenerateEmptyAlternateText { get; set; }

• ImageAlign

Tanım: Resim nesnesinin hizalanmasını sağlar Tipi: System.Web.UI.WebControls.ImageAlign Deklarasyon: public virtual System.Web.UI.WebControls.ImageAlign ImageAlign { get; set; } Alacağı Değerler; AbsBottom AbsMiddle Baseline Bottom Left Middle NotSet Right TextTop Top

• ImageUrl

Tanım: Resim nesnesinde görüntülenecek görüntünün URL bilgisi Tipi: System.String Deklarasyon: public virtual string ImageUrl { get; set; }

3.23. Çerçeve

Çerçeve nesnesi, verilen bir adresin form üzerinde çerçeve içerisinde açılmasını sağlayan nesnedir. Çerçeve nesnesi “eBAControls.eBAFrameControl” sınıfındandır.

3.23.1. Özellikler

• HasBorder

Tanım: Kenar çizgilerinin görünürlüğü Tipi: System.Boolean Deklarasyon: public bool HasBorder { get; set; }

• HasScroll

Tanım: Kaydırma çubuğunun görünürlüğü Tipi: System.Boolean Deklarasyon: public bool HasScroll { get; set; }

• Url

Tanım: Gösterilecek adres bilgisi Tipi: System.String Deklarasyon: public string Url { get; set; }