求助一级窗体调用二级窗体以行调用和以单元格
请教下怎么添加内容让一级窗体调用二级窗体时,以行调用和以单元格调用两种方式可自由定制
外部我改不了,只能在这里添加
private string getstatements(StringToxml _StringToxml, DataTable _DataTable)
{
string Align = getvalue("Align");
string xmlstring = "<UnitAttributes>";
XmlNodeList list = _StringToxml.getNodes("datasets");
if (list.Count > 0)
{
foreach (XmlNode item in list)
{
xmlstring += "<UnitAttribute Header='" + item.Attributes["caption"].Value + "' Width='100' Align='" + Align + "' Types='ed' Sorting='str'></UnitAttribute>";
for (int i = 0; i < item.ChildNodes.Count - 1; i++)
{
xmlstring += "<UnitAttribute Header='#cspan' Width='50' Align='" + Align + "' Types='ed' Sorting='str'></UnitAttribute>";
}
}
xmlstring += "<afterInit><call command='attachHeader'><param>";
foreach (XmlNode item in list)
{
for (int i = 0; i < item.ChildNodes.Count; i++)
{
if (item.ChildNodes.Count == 1)
{
xmlstring += "#rspan";
}
else
{
xmlstring += item.ChildNodes[i].Attributes["value"].Value;
} xmlstring += ",";
}
}
xmlstring += " </param></call></afterInit>";
xmlstring += "</UnitAttributes><rows>";
list = _StringToxml.getNodes("dataset");
for (int i = A; i < B; i++)
{
xmlstring += " <row id='" + i + "'>";
foreach (XmlNode item in list)
{
xmlstring += "<cell>" + _DataTable.Rows[i][item.Attributes["name"].Value].ToString() + "</cell>";
}
xmlstring += " </row>";
}
return xmlstring + "</rows>";
}
else
{
XmlNodeList FieldNames = _StringToxml.getNodes("FieldName");
if (FieldNames.Count > 0)
{
for (int j = 0; j < FieldNames.Count; j++)
{
if (j == FieldNames.Count - 1)
{
xmlstring += "<UnitAttribute Header='" + FieldNames[j].Attributes["value"].Value + "' Width='*' Align='" + Align + "' Types='ed' Sorting='str'></UnitAttribute>";
}
else
{
xmlstring += "<UnitAttribute Header='" + FieldNames[j].Attributes["value"].Value + "' Width='" + FieldNames[j].Attributes["value"].Value.Length * 30 + "' Align='" + Align + "' Types='ed' Sorting='str'></UnitAttribute>";
}
}
}
else
{
for (int j = 0; j < _DataTable.Columns.Count; j++)
{
if (j == _DataTable.Columns.Count - 1)
{
xmlstring += "<UnitAttribute Header='" + _DataTable.Columns[j].ColumnName + "' Width='*' Align='" + Align + "' Types='ed' Sorting='str'></UnitAttribute>";
}
else
{
xmlstring += "<UnitAttribute Header='" + _DataTable.Columns[j].ColumnName + "' Width='" + _DataTable.Columns[j].ColumnName.Length * 30 + "' Align='" + Align + "' Types='ed' Sorting='str'></UnitAttribute>";
}
}
}
xmlstring += "</UnitAttributes><rows>";
XmlNodeList BackgroundColor = _StringToxml.getNodes("BackgroundColor");
if (FieldNames.Count > 0)
{
for (int j = 0; j < _DataTable.Columns.Count; j++)
{
xmlstring += " <row id='" + j + "'>";
string TempName = _DataTable.Columns[j].ColumnName;
xmlstring += "<cell>" + TempName + "</cell>";
string TempValue = _DataTable.Rows.Count > 0 ? _DataTable.Rows[0][_DataTable.Columns[j].ColumnName].ToString() : "--";
xmlstring += "<cell>" + TempValue + "</cell>";
xmlstring += " </row>";
}
}
else
{
for (int i = A; i < B; i++)
{
xmlstring += " <row id='" + i + "'>";
for (int j = 0; j < _DataTable.Columns.Count; j++)
{
if (BackgroundColor.Count > 0)
{
xmlstring += "<cell>" + getdiv(_DataTable.Rows[i][_DataTable.Columns[j].ColumnName].ToString(), _StringToxml) + "</cell>";
}
else
{
xmlstring += "<cell>" + _DataTable.Rows[i][_DataTable.Columns[j].ColumnName].ToString() + "</cell>";
}
}
xmlstring += " </row>";
}
}
return xmlstring + "</rows>";
}
}
[解决办法]
才一晚上就沉了,顶起来,请教各位大大
[解决办法]
看来我得说的详细点了,原来是一级窗体为一表格数据,点选一行数据才能才能查询显示二级窗体数据,要的是点一级窗体的里的每个单元格数据也能显示二级窗体,窗体方面我没权限改动,要改方法实现,我很郁闷啊
[解决办法]
再顶起吧,真的很头痛啊~~~~~