ınfopath içinde bir ana/ayrıntı ilişkisi olan tablolardaki basamaklama silme için komut dosyası nasıl kullanılır

Office 2003 desteği sona erdi

Microsoft, Office 2003 desteğini 8 Nisan 2014'te sona erdirdi. Bu değişiklik yazılım güncelleştirmelerinizi ve güvenlik seçeneklerinizi etkiledi. Bunun sizin için ne anlama geldiğini ve korunmaya nasıl devam edebileceğinizi öğrenin.

ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.

Makalenin İngilizcesi aşağıdaki gibidir:892952
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.

Giriş
Bu makalede, Microsoft Office ınfopath içinde bir ana/ayrıntı ilişkisi olan tablolardaki basamaklama silme işlemleri için komut dosyası nasıl kullanılır. Ana öğeyi sildiğinizde, bir anahtar alanını kullanarak bir ana maddeye bağlı ayrıntı öğeleri silmek için bu kodu kullanabilirsiniz.
Daha fazla bilgi
Microsoft, programlama örneklerini yalnızca gösterim amacıyla sağlar; örtülü veya açık garanti vermez. Buna satılabilirlik veya belirli bir amaca uygunluk zımni garantileri de dahildir, ancak bunlarla sınırlı değildir. Bu makale, gösterilen programlama dilini ve yordamları oluşturmak ve hata ayıklamak amacıyla kullanılan araçları kullanmayı bildiğinizi varsayar. Microsoft destek mühendisleri, belirli bir yordamın işlevselliğinin açıklanmasına yardımcı olabilir, ancak gereksinimlerinizi karşılamaya yönelik olarak ek işlevsellik sağlamak veya yordamlar geliştirmek amacıyla bu örnekleri değiştirmezler. Ayrıntı ve öğelerin ana maddenin silindiğinde silinir, bir ana/ayrıntı ilişkisi olan bir tablo oluşturmak için <a0></a0>, aşağıdaki adımları izleyin:
  1. Infopath başlatma ve yeni, boş bir form açın. Bunu yapmak için şu adımları izleyin:

    Infopath 2007
    1. <a0>Form Doldur</a0> iletişim kutusunun sol bölmede, <a1>Tasarım</a1> bir form şablonu tıklatın.
    2. Bir form şablonu penceresinde, tasarım boş ' u tıklatın ve sonra Tamam ' ı tıklatın.
    Infopath 2003
    1. <a0>Form Doldur</a0> iletişim kutusunun sol bölmesinde, <a1>Tasarım</a1> formu tıklatın.
    2. Sağ bölmede, Yeni boş form ' u tıklatın.
  2. Iki yinelenen tablo ekleyin. Bunu yapmak için şu adımları izleyin:

    Infopath 2007
    1. Ekle menüsünde Yinelenen tablo ' ı tıklatın.
    2. Sütun sayısı 2 ' ye ayarlayın ve Tamam ' ı tıklatın.
    3. Adımını bir ve başka bir yinelenen tablo eklemek için b adım.
    Infopath 2003
    1. Diğer denetimler, Ekle menüsünden'ı tıklatın.
    2. Eklenecek denetimler'in altında <a0>denetimler</a0> görev bölmesinde, Yinelenen tablo ' ı tıklatın.
    3. Sütun sayısı 2 ' ye ayarlayın ve Tamam ' ı tıklatın.
    4. B adımı yineleyin ve adım c. başka bir yinelenen tabloyu eklemek.
  3. Daha fazla iki yinelenen tablo oluşturun ve iki yeni tablo, ilk iki yinelenen tablo aynı verilere bağlayabilirsiniz. Bunu yapmak için şu adımları izleyin:
    1. Görünüm menüsünde, Veri kaynağı ' nı tıklatın.
    2. Veri kaynağı görev bölmesinde, grup1 ' i genişletin.
    3. Grup2 ' ı sağ tıklatın ve Yinelenen tablo</a1>'ı tıklatın.
    4. Veri kaynağı görev bölmesinde grup3 adını genişletin.
    5. Group4 ' ı sağ tıklatın ve Yinelenen tablo</a1>'ı tıklatın.
  4. 3. Adımda oluşturduğunuz iki tablo arasında bir ana/ayrıntı ilişkisi oluşturun. Bunu yapmak için şu adımları izleyin:
    1. Ilk tabloyu sağ tıklatın ve sonra da Yinelenen Tablo özellikleri ' ni tıklatın.

      Not Bu tablo formunun üstten üçüncü tablodur.
    2. Yinelenen Tablo özellikleri iletişim kutusunda Ana/ayrıntı sekmesini tıklatın.
    3. Ana/ayrıntı ayarları altında ana yap ' ı tıklatın.
    4. Ana KIMLIK kutusuna Master1 yazın ve Tamam ' ı tıklatın.
    5. Bir sonraki tabloyu sağ tıklatın ve sonra da Yinelenen Tablo özellikleri ' ni tıklatın.

      Not Bu tablo formunun üstten dördüncü bir tablodur.
    6. Yinelenen Tablo özellikleri iletişim kutusunda Ana/ayrıntı sekmesini tıklatın.
    7. Ana/ayrıntı ayarları altında ayrıntı olarak ayarla ' yı tıklatın.
    8. Ilişkilendirilecek ana öğe KIMLIĞI</a0> kutusunda, Master1 seçin.
    9. Bağlantı Yöneticisi'ni ve ayrıntı altında anahtar alanına göre ' yi tıklatın.
    10. <a0>Anahtar alanı (ana)</a0> kutusunun sağındaki <a2>XPath Seç</a2> simgesini tıklatın ve sonra da alan1</a1>'ı tıklatın.
    11. Alan3 ' ı tıklatın <a0>anahtar alanı (ayrıntı)</a0> kutusunun sağındaki <a2>XPath Seç</a2> simgesini tıklatın ve sonra Tamam ' ı tıklatın.
  5. Anahtar alanın <a0>Ayrıntılar</a0> tablosundaki <a2>OnAfterChange</a2> olay basamaklama siler zorlamak için kodu ekleyin. Bunu yapmak için şu adımları izleyin:

    Infopath 2007
    1. Veri kaynağı görev bölmesinde, alan1grup2 içinde sağ tıklatın, programı tıklatın ve Açık sonra değiştirme olayı</a1>'ı tıklatın.
    2. Aşağıdaki kod komut dosyası düzenleme penceresinin ekleyin.

      Not Alanı yer tutucuları ve grubun yer tutucular, grupları ve kullanmak istediğiniz alanların adlarını ile değiştirin.
      function msoxd_my_field1::OnAfterChange(eventObj){ // Write code here to restore the global state.  if (eventObj.IsUndoRedo) {  // An undo operation or a redo operation has occurred, and the DOM is read-only.  return; }  //Delete corresponding details if a delete operation has occurred on source group2. if(eventObj.Operation == "Delete" && eventObj.Source.nodeName == "my:group2") {  //Block the view update feature to improve performance.  thisXDocument.View.DisableAutoUpdate();    //Obtain the  value of the keyfield of that row that you want to delete (set as field1 in Designer).  var nodeKeyFieldMaster = eventObj.Source.selectSingleNode("my:field1");            //Set the selection on all nodes in Detail.  var nodesDetail = XDocument.DOM.selectNodes("/my:myFields/my:group3/my:group4");   //View each row in Detail, and then delete the row if the key field in the detail matches the key field in the master.  for (i=0; i< nodesDetail.length; i++)  {   //Obtain the row.   var row = nodesDetail.item(i);      //Obtain the  value of the keyfield for the current row  (set as field3 in Designer).   var nodeKeyFieldDetail = row.selectSingleNode("my:field3");    //Delete the row if the keyfield in the detail matches the keyfield of the deleted row in the master.   if(nodeKeyFieldDetail.text == nodeKeyFieldMaster.text)   {    row.parentNode.removeChild(row);    }  //Re-enable the view update.  thisXDocument.View.EnableAutoUpdate();  } } }
    3. Dosya menüsünde Kaydet ' i tıklatın.
    4. Dosya menüsünden Çıkış ' ı tıklatın.
    Infopath 2003
    1. Veri kaynağı görev bölmesinde, alan1grup2 içinde sağ tıklatın ve sonra da Properties ' i tıklatın.
    2. Alan veya grup özellikleri iletişim kutusunda doğrulama ve olay işleyicileri sekmesini tıklatın.
    3. Olaylar listesinde OnAfterChange ' ı tıklatın ve sonra da <a2>Düzenle</a2>'yi tıklatın.
    4. Aşağıdaki kod komut dosyası düzenleme penceresinin ekleyin.

      Not Alanı yer tutucuları ve grubun yer tutucular, grupları ve kullanmak istediğiniz alanların adlarını ile değiştirin.
      function msoxd_my_field1::OnAfterChange(eventObj){ // Write code here to restore the global state.  if (eventObj.IsUndoRedo) {  // An undo operation or a redo operation has occurred, and the DOM is read-only.  return; }  //Delete corresponding details if a delete operation has occurred on source group2. if(eventObj.Operation == "Delete" && eventObj.Source.nodeName == "my:group2") {  //Block the view update feature to improve performance.  thisXDocument.View.DisableAutoUpdate();    //Obtain the  value of the keyfield of that row that you want to delete (set as field1 in Designer).  var nodeKeyFieldMaster = eventObj.Source.selectSingleNode("my:field1");            //Set the selection on all nodes in Detail.  var nodesDetail = XDocument.DOM.selectNodes("/my:myFields/my:group3/my:group4");   //View each row in Detail, and then delete the row if the key field in the detail matches the key field in the master.  for (i=0; i< nodesDetail.length; i++)  {   //Obtain the row.   var row = nodesDetail.item(i);      //Obtain the  value of the keyfield for the current row  (set as field3 in Designer).   var nodeKeyFieldDetail = row.selectSingleNode("my:field3");    //Delete the row if the keyfield in the detail matches the keyfield of the deleted row in the master.   if(nodeKeyFieldDetail.text == nodeKeyFieldMaster.text)   {    row.parentNode.removeChild(row);    }  //Re-enable the view update.  thisXDocument.View.EnableAutoUpdate();  } } }
    5. Dosya menüsünde düzenleme penceresini kapatmak için Çıkış ' ı tıklatın.
    6. Alan veya grup özellikleri iletişim kutusunu kapatmak için Tamam ' ı tıklatın.

Nasıl kod works.To bunu göstermek için bu adımları formu önizlemesi:
  1. Infopath 2007

    Dosya menüsünde, Önizleme ' ye gelin ve formu</a1>'ı tıklatın.

    Infopath 2003

    Dosya menüsünde Form Önizleme'nun üzerine gelin ve sonra da <a2>Varsayılan</a2>'ı tıklatın
  2. Formdaki ilk tabloya bazı sınama değerleri ekleyin. Bu tablo, asıl olduğu tablo. Bunu yapmak için şu adımları izleyin:
    1. Ilk satırın ilk sütuna, Test1 yazın.
    2. Ilk satır ikinci sütundaki Master1 yazın.
    3. Verileri yalnızca yazdığınız satırın altında ilk tablonun yeni bir satır eklemek için Öğe Ekle ' yi tıklatın.
    4. Ikinci satırdaki ilk sütuna Test2 yazın.
    5. Ikinci satır ikinci sütundaki Master2 yazın.
    6. Daha fazla satır eklemek istiyorsanız, 2 c ile 2e yineleyin.
  3. Form üzerindeki ikinci tabloya bazı sınama değerleri ekleyin. Bu tablo ayrıntıları tablodur. Bunu yapmak için şu adımları izleyin:
    1. Ilk satırın ilk sütuna, Test1 yazın.
    2. Ilk satır ikinci sütundaki Detail1 yazın.
    3. Verileri yalnızca yazdığınız satırın altında yeni bir satır ikinci tabloya eklemek için Öğe Ekle ' yi tıklatın.
    4. Ikinci satırdaki ilk sütuna Test2 yazın.
    5. Ikinci satır ikinci sütundaki Detail2 yazın.
    6. Daha fazla satır eklemek istiyorsanız, 2 c ile 2e yineleyin.
  4. Ana/ayrıntı tabloları sınayın. Her satır, üçüncü tablosunda, birer birer seçin. Dördüncü tablo yalnızca aynı değeri, üçüncü bir tablo içindeki seçili satırı olarak ilk sütuna sahip satır ikinci tablodan gösterir.
  5. Bir satır asıl slayttan silme tablosu. Bunu yapmak için şu adımları izleyin:
    1. Üçüncü tablosunda ilk sütunda "Test2" içerdiği yerlerde ikinci satıra seçin.
    2. Seçili satırın yanındaki oku tıklatın ve sonra da <a2>grup2 Kaldır</a2>'ı tıklatın.

      Not Ilk sütunda aynı metni içeren satırlar, örnek kodun dördüncü tablosundan otomatik olarak silinir. Örneğin, "Test2" silinir.

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 892952 - Son İnceleme: 12/09/2015 02:05:27 - Düzeltme: 2.2

Microsoft Office InfoPath 2003, Microsoft Office InfoPath 2003, Service Pack 1 (SP1), Microsoft Office InfoPath 2007

  • kbnosurvey kbarchive kbmt kbxml kbcodesnippet kbcode kbprogramming kbhowto KB892952 KbMttr
Geri bildirim