DataRowConverter.cs
上传用户:szgaoree
上传日期:2009-01-05
资源大小:74k
文件大小:1k
源码类别:

Ajax

开发平台:

C#

  1. using System;
  2. using System.Text;
  3. using System.Data;
  4. namespace AjaxPro
  5. {
  6. /// <summary>
  7. /// Provides methods to serialize and deserialize a DataRow object.
  8. /// </summary>
  9. public class DataRowConverter : IJavaScriptConverter
  10. {
  11. public DataRowConverter() : base()
  12. {
  13. }
  14. public override string Serialize(object o)
  15. {
  16. if(!(o is DataRow))
  17. throw new NotSupportedException();
  18. StringBuilder sb = new StringBuilder();
  19. DataRow row = (DataRow)o;
  20. DataColumnCollection cols = row.Table.Columns;
  21. int colcount = cols.Count;
  22. bool b = true;
  23. sb.Append("[");
  24. for(int i=0; i<colcount; i++)
  25. {
  26. if(b){ b = false; }
  27. else{ sb.Append(","); }
  28. sb.Append(JavaScriptSerializer.Serialize(row[cols[i].ColumnName]));
  29. }
  30. sb.Append("]");
  31. return sb.ToString();
  32. }
  33. public override Type[] SerializableTypes
  34. {
  35. get
  36. {
  37. return new Type[]{typeof(DataRow)};
  38. }
  39. }
  40. }
  41. }