コード例 #1
0
        private void repositoryItemButtonEditSource_ButtonClick(object sender, ButtonPressedEventArgs e)
        {
            var dataSource =
                DataSources.ElementAt(GridViewDataSources.FocusedRowHandle).DataSource as IPropertiesProvider;

            if (dataSource != null)
            {
                var form = new PropertiesForm();

                var validationRules = dataSource.GetValidationRules();
                form.SetValidationRules(validationRules);
                var propertyEditors = dataSource.GetPropertyEditors();
                form.SetPropertyEditors(propertyEditors);
                var simpleProperties = dataSource.GetSimpleProperties();
                form.SetSimpleProperties(simpleProperties);
                var collectionProperties = dataSource.GetCollections();
                form.SetCollectionProperties(collectionProperties);

                if (form.ShowDialog() == DialogResult.OK)
                {
                    dataSource.ApplySimpleProperties();
                    dataSource.ApplyCollections();
                    GridViewDataSources.HideEditor();
                    GridViewDataSources.RefreshData();
                }
                else
                {
                    form.RevertChanges();
                }
            }
        }
コード例 #2
0
 private void DeleteDataSourceButton_Click(object sender, EventArgs e)
 {
     if (GridViewDataSources.FocusedRowHandle >= 0)
     {
         DataSources.RemoveAt(GridViewDataSources.FocusedRowHandle);
         GridViewDataSources.RefreshData();
     }
 }
コード例 #3
0
        private void AddDocumentDataSourceButton_Click(object sender, EventArgs e)
        {
            var dataSourceObject = new DataSourceObject();

            DataSources.Add(dataSourceObject);

            var documentDataSource = new DocumentDataSource();

            dataSourceObject.DataSource        = documentDataSource;
            documentDataSource.ObjectInspector = ObjectInspector;
            GridViewDataSources.RefreshData();
        }
コード例 #4
0
        private void GridViewDataSources_CustomColumnDisplayText(object sender, CustomColumnDisplayTextEventArgs e)
        {
            var value = (DataSourceObject)GridViewDataSources.GetRow(e.RowHandle);

            if (value == null)
            {
                return;
            }

            if (string.IsNullOrEmpty(value.DataSourceName))
            {
                e.DisplayText = "<DataSource name not specified>";
            }
            else
            {
                e.DisplayText = value.DataSourceName;
            }
        }
コード例 #5
0
 public void ProcessJson(dynamic dataSources)
 {
     DataSources.Clear();
     foreach (var source in dataSources)
     {
         var dataSourceObject = new DataSourceObject();
         if (source.DocumentDataSource != null)
         {
             var documentDataSource = new DocumentDataSource();
             documentDataSource.ObjectInspector = ObjectInspector;
             documentDataSource.LoadProperties(source.DocumentDataSource);
             dataSourceObject.DataSource = documentDataSource;
         }
         else if (source.ObjectDataSource != null)
         {
             var objectDataSource = new ObjectDataSource();
             objectDataSource.ObjectInspector = ObjectInspector;
             objectDataSource.LoadProperties(source.ObjectDataSource);
             dataSourceObject.DataSource = objectDataSource;
         }
         DataSources.Add(dataSourceObject);
     }
     GridViewDataSources.RefreshData();
 }