
//将数据绑定到控件
function B$()
{
	if (arguments.length < 2)
	{
		return;
	}
	var ds = arguments[0];
	var control = arguments[1];
	var element = arguments[2];
	startIndex = 3;
	if (ds == null || control == null)
	{
		return;
	}
	if (typeof(control) == "string")
	{
		control = $(control);
	}
	if (control.constructor == Array)
	{
		control = control[0];
	}
	if (typeof(control.tagName) == "undefined" || typeof(control.appendChild) == "undefined")
	{
		return;
	}
	if (typeof(ds.length) == "undefined" || ds.length == null || isNaN(parseInt(ds.length)))
	{
		return;
	}
	try
	{
		if (element == null)
		{
			switch(control.tagName.toLowerCase())
			{
				case "select":
					element = "option";
					break;
				case "td":
					element = "span";
					break;
				case "tr":
					element = "td";
					break;
				case "table":
					element = "tr";
					break;
				case "p":
					element = "span";
					break;
				case "div":
					element = "div";
					break;
				default:
					element = control.tagName;
			}
		}
		if (element != null)
		{
			if (typeof(element) == "string" || typeof(element.tagName) == "undefined")
			{
				element = document.createElement(element + "");
			}
		}
		if (element == null)
		{
			return;
		}
	}
	catch(err)
	{
		return;
	}
	var src = new Array();
	var dst = new Array();
	var srcField = null;
	var dstField = null;
	for (var i = startIndex, maxI = arguments.length; i < maxI; i++)
	{
		var arg = arguments[i];
		if (typeof(element[arg]) != "undefined")
		{
			srcField = arg;
		}
		if (typeof(ds[0][arg]) != "undefined")
		{
			dstField = arg;
		}
		if (srcField != null && dstField != null)
		{
			src.push(srcField);
			dst.push(dstField);
			srcField = null;
			dstField = null;
		}
	}
	if (src.length == 0)
	{
		for(var dstProp in ds[0])
		{
			for (var srcProp in element)
			{
				if (dstProp.toLowerCase() == srcProp.toLowerCase())
				{
					src.push(srcProp);
					dst.push(dstProp);
				}
			}
		}
	}
	for (var i = 0, maxI = ds.length; i < maxI; i++)
	{
		var row = ds[i];
		if (row != null)
		{
			try
			{
				element = element.cloneNode(true);
				for(var j = 0, maxJ = src.length; j < maxJ; j++)
				{
					element[src[j]] = ds[i][dst[j]];
				}
				if (control.options)
				{
					try
					{
						control.options.add(element);
					}
					catch(err)
					{
						control.appendChild(element);
					}
				}
				else
				{
					control.appendChild(element);
				}
			}
			catch(err)
			{
				//window.alert(err.description);
			}
		}
	}
}