none
איך יוצרים רכיב גאנט עם קשרים בין הברים, חצים? RRS feed

  • שאלה

  • שלום,
     אני מפתחת רכיב גאנט. אני משתמשת בjsgrid לפי הדוגמה :
    http://msdn.microsoft.com/en-us/library/ee539027.aspx
    אולם, בכל הדוגמאות ברשת הגאנט הוא בסיסי וללא קשרים.
    ראיתי שיש אופציה לכתוב את שם עמודת התלות ב-

    GridSerializer.EnableGantt(
    DateTime earliestBarBegin,
    DateTime latestBarEnd,
    GanttStyleInfo ganttStyleInfo,
    string ganttDependentsColumnName
    )
    אבל לא ברור איך לממש את העמודה הזו. באיזה אופן?
    תודה מראש
    ליאת

    יום שלישי 21 דצמבר 2010 14:53

תשובות

  • מצאתי פתרון לכל המעוניין,
    להשתמש בעמודה מסוג מערך של  dependentcy  כאשר:

    public class Dependency : IJsonSerializable
    {
        public object Key { get; set; } // recordKey
        public LinkType Type { get; set; } // SP.JsGrid.LinkType
     
        public string ToJson(Serializer s)
        {
            return JsonUtility.SerializeToJsonFromProperties(s, this);
        }
    }

    • סומן כתשובה על-ידי MatanC יום רביעי 22 דצמבר 2010 14:28
    יום רביעי 22 דצמבר 2010 14:28

כל התגובות

  • מצאתי פתרון לכל המעוניין,
    להשתמש בעמודה מסוג מערך של  dependentcy  כאשר:

    public class Dependency : IJsonSerializable
    {
        public object Key { get; set; } // recordKey
        public LinkType Type { get; set; } // SP.JsGrid.LinkType
     
        public string ToJson(Serializer s)
        {
            return JsonUtility.SerializeToJsonFromProperties(s, this);
        }
    }

    • סומן כתשובה על-ידי MatanC יום רביעי 22 דצמבר 2010 14:28
    יום רביעי 22 דצמבר 2010 14:28
  • Hi matan. 

     

    I am trying to use the code you displayed, but it doesn't work. What i did :

     

    -Created the class.

    -Added the column in the datatable :

     

     

    data.Columns,Add(new DataColumn("Predecessor",typeof(Dependency[]));
    
    
    

     

    -Added the type dependencies in the grid utilities :

     

     

    else if(dc.DataType == typeof(Dependency[]))
    
    {
    
    
    
    	gf.PropertyTypeId="Dependency"; // There i dunno if its good, i have a assertion fail, but i dont know how to solve it.
    
    
    
    	gf.Localizer=(ValueLocalizer)delegate(DataRow row, object toConvert)
    
    
    
    	{
    
    
    
    		return toConvert== null ? "" : toConvert.toString();
    
    
    
    	};
    
    
    
    	gf.SerializeLocalizedValue=false;
    
    
    
    	gf.SerializeDataValue=true;
    
    }
    
    
    

    -In the Enable Gantt function, I set "Predecessor" as my ganttDependentsColumnName

     

    - In the grid Data I initialized my Dependency :

     

     

    var dep = new Dependency { Key = predecessors[0].LookupId.ToString(), Type = LinkType.FinishStart };
    var serializer = new DataContractJsonSerializer(dep.GetType());
    var stream = new MemoryStream();
    serializer.WriteObject(stream, dep);
    byte[] json = stream.ToArray();
    stream.Close();
    
    dr["Predecessor"] = Encoding.UTF8.GetString(json, 0, json.Length);
    Did I make something wrong ? How did you manage to display predecessors ? 
    Thanks for answers

     

     

     

     


    • נערך על-ידי Romain R יום שני 14 נובמבר 2011 14:59
    יום שני 14 נובמבר 2011 14:58