Показать сообщение отдельно
Старый 22.09.2008, 01:02
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 9  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
как вариант на скорую руку с однострочными ячейками

table.xml
Код:
<table>
    <col width="100" />
    <col width="30" />
    <tr>
        <td>0.0</td><td>0.1</td>
    </tr>
    <tr>
        <td>1.0</td><td>1.1</td>
    </tr>
</table>
во флеше:
Код:
xml = new XML();
xml.ignoreWhite = true;
xml.onLoad = loadXML;
xml.load("table.xml");

function loadXML(isloaded) {
	if (isloaded) parse(this);
	else trace('not loaded');
}
function parse(xml){
	var table = xml.firstChild;
	var cols = get_cols(table);
	var trs = get_trs(table);
	var data = get_tds(trs);
	draw_table(data, cols);
}
function get_cols(table){
	var cols = new Array();
	var col = table.firstChild;
	while( col.nodeName == 'col' ){
		cols.push(col.attributes.width);
		col = col.nextSibling;
	}
	return cols;
}
function get_trs(table){
	var trs = new Array();
	var tr = table.firstChild;
	while( tr ){
		if( tr.nodeName == 'tr') trs.push(tr);
		tr = tr.nextSibling;
	}	
	return trs;
}
function get_tds(trs){
	var data = new Array();
	for(var i = 0; i < trs.length; i++){
		data[i] = new Array();
		var td = trs[i].firstChild;
		while( td ){
			data[i].push(td.firstChild.nodeValue);
			td = td.nextSibling;
		}
	}
	return data;
}
function draw_table(data, cols){
	var table = this.createEmptyMovieClip('mc_table', 1);
	for(var i = 0; i < data.length; i++){
		var w_cumulate = 0;
		for(var j = 0; j < data[i].length; j++){
			var w = cols[j]; 
			var x = w_cumulate;
			var cel = table.createTextField('cel'+i+j, table.getNextHighestDepth(), x, i*25, w, 25);
			cel.text = data[i][j];
			cel.border = true;
			//
			w_cumulate += Number(w);
		}
	}
}
капайтесь, размышляйте, настраивайте