datarowconverter.cs

来自「AJAX开发工具包」· CS 代码 · 共 54 行

CS
54
字号
using System;
using System.Text;
using System.Data;

namespace AjaxPro
{
	/// <summary>
	/// Provides methods to serialize and deserialize a DataRow object.
	/// </summary>
	public class DataRowConverter : IJavaScriptConverter
	{
		public DataRowConverter() : base()
		{
		}
	
		public override string Serialize(object o)
		{
			if(!(o is DataRow))
				throw new NotSupportedException();
			
			StringBuilder sb = new StringBuilder();
			DataRow row = (DataRow)o;
			
			DataColumnCollection cols = row.Table.Columns;
			int colcount = cols.Count;

			bool b = true;

			sb.Append("[");

			for(int i=0; i<colcount; i++)
			{
				if(b){ b = false; }
				else{ sb.Append(","); }

				sb.Append(JavaScriptSerializer.Serialize(row[cols[i].ColumnName]));
			}

			sb.Append("]");

			return sb.ToString();
		}

		public override Type[] SerializableTypes
		{
			get
			{
				return new Type[]{typeof(DataRow)};
			}
		}

	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?