public void OpenSObject(string sObject,string Relation,string TabFilters) { _sObjectDef = new SForceEdit.SObjectDef(sObject); // set the tab filters to overide the filters if they are set if (TabFilters != "") _sObjectDef.TabFilters = TabFilters; if(_paged) _sObjectDef.AddPaging(); if(_filter) _sObjectDef.Filter = cbFilter.Text; AddFields(); _sObjectDef.Parent = Relation; }
private void BuildDataSidebar() { //Create an Expander for Document/Matter/Request - do them in order so we know the Id of the next one ... Fields.Children.Clear(); if (this._d.demoinstance == "general" || this._d.demoinstance == "isda") { // assume that the parent is the Document _sDocumentObjectDef = new SForceEdit.SObjectDef("Document__c"); if (_sDocumentObjectDef != null) { GenerateFields(_sDocumentObjectDef); LoadData(_parentId, _sDocumentObjectDef); } } else { // hack for the Document version if the parent is document OR version doesn't exit _sDocumentObjectDef = new SForceEdit.SObjectDef("Version__c"); if (_parentType == "Document__c" || _sDocumentObjectDef == null) { _sDocumentObjectDef = new SForceEdit.SObjectDef("Document__c"); GenerateFields(_sDocumentObjectDef); LoadData(_parentId, _sDocumentObjectDef); } else { if (_parentType == "Version__c") { GenerateFields(_sDocumentObjectDef); LoadData(_parentId, _sDocumentObjectDef); //If we have a Matter add that in if (_DocumentRow != null && _DocumentRow.Table.Columns.Contains("Matter__c")) { string id = _DocumentRow["Matter__c"].ToString(); _sMatterObjectDef = new SForceEdit.SObjectDef("Matter__c"); GenerateFields(_sMatterObjectDef); LoadData(id, _sMatterObjectDef); //Add in the Activities // _sActivityObjectDef = new SForceEdit.SObjectDef("Task"); // AddGrid(_sActivityObjectDef); // GenerateFields(_sActivityObjectDef); // LoadData(id, _sActivityObjectDef); } //If we have a Request add that in if (_MatterRow != null && _MatterRow.Table.Columns.Contains("Request__c")) { string id = _MatterRow["Request__c"].ToString(); _sRequestObjectDef = new SForceEdit.SObjectDef("Request__c"); GenerateFields(_sRequestObjectDef); LoadData(id, _sRequestObjectDef); } } else if (_parentType == "Matter__c") { _sMatterObjectDef = new SForceEdit.SObjectDef("Matter__c"); GenerateFields(_sMatterObjectDef); LoadData(_parentId, _sMatterObjectDef); //If we have a Request add that in if (_MatterRow != null && _MatterRow.Table.Columns.Contains("Request__c")) { string id = _MatterRow["Request__c"].ToString(); _sRequestObjectDef = new SForceEdit.SObjectDef("Request__c"); GenerateFields(_sRequestObjectDef); LoadData(id, _sRequestObjectDef); } } else if (_parentType == "Request__c") { _sRequestObjectDef = new SForceEdit.SObjectDef("Request__c"); GenerateFields(_sRequestObjectDef); LoadData(_parentId, _sRequestObjectDef); } } } }
public void SetupAxAttachment(string ParentType) { //Attachment has no layout and we arent showing it as a data form anyway //so use the Sobject but don;t use AddFields and just build the object here //should move to the SobjectDef class as a special case _sObjectDef = new SForceEdit.SObjectDef("Attachment"); _sObjectDef.Parent = "Parent"; _sObjectDef.ParentType = ParentType; //Set up the field in the grid List<string> searchCols = new List<string>(); string settingColumns = Globals.ThisAddIn.GetSettings("Attachment", "Columns"); if (settingColumns == "") { settingColumns = "Name|Owner_Name|LastModifiedDate|LastModifiedBy_Name"; } _sObjectDef.GridColumnFields = new List<string>(); this.radGridView1.Columns.Clear(); this.radGridView1.AutoGenerateColumns = false; sfPartner.DescribeSObjectResult dsr = _d.GetSObject(_sObjectDef.Name); _sObjectDef.Label = dsr.label; _sObjectDef.PluralLabel = dsr.labelPlural; // describe object doesn't have the url for attachment, get the url from the binding and add {ID} _sObjectDef.Url = _d.GetURL() + "/{ID}"; _sObjectDef.AddField("Id","","Id","string",true,false,false,null); _sObjectDef.AddField("ParentId", "", "ParentId", "string", true, false, false, null); _sObjectDef.AddField("ContentType", "", "ContentType", "string", true, false, false, null); foreach (string settingCol in settingColumns.Split('|')) { //Find the Field sfPartner.Field f = null; string fldname = settingCol; if(settingCol.EndsWith("_Name")){ fldname = settingCol.Replace("_Name", "") + "Id" ; //dont have to worry about __c to __r can't have custom on attachment } for (int x = 0; x < dsr.fields.Length; x++) { if (dsr.fields[x].name == fldname) { f = dsr.fields[x]; } } if (f!=null) { //add the field _sObjectDef.AddField(f.name, f.relationshipName, f.label, f.type.ToString(), true, f.updateable, f.createable, f ); //If this is a Relation add extra field to the field list with the Name if (f.type == sfPartner.fieldType.reference) { _sObjectDef.AddField(f.relationshipName + ".Name", f.relationshipName, f.label, f.type.ToString(), true, false, false, null); } //keep a list of columns _sObjectDef.GridColumnFields.Add(settingCol); SForceEdit.SObjectDef.FieldGridCol fgc = _sObjectDef.GetField(settingCol); GridViewDataColumn column = new GridViewDataColumn(); column.DataMemberBinding = new Binding(fgc.Name); column.Header = fgc.Header; column.UniqueName = fgc.Name; if (fgc.DataType == "date") { column.DataType = typeof(DateTime); column.DataFormatString = "d"; column.TextAlignment = TextAlignment.Center; } if (fgc.DataType == "datetime") { column.DataType = typeof(DateTime); column.DataFormatString = "g"; column.TextAlignment = TextAlignment.Center; } if (fgc.DataType == "double") { column.DataType = typeof(Double); column.DataFormatString = "0"; column.TextAlignment = TextAlignment.Right; } column.MaxWidth = 300; this.radGridView1.Columns.Add(column); } } }