首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

一级窗体调用二级窗体以行调用和以单元格

2012-02-03 
求助一级窗体调用二级窗体以行调用和以单元格请教下怎么添加内容让一级窗体调用二级窗体时,以行调用和以单

求助一级窗体调用二级窗体以行调用和以单元格
请教下怎么添加内容让一级窗体调用二级窗体时,以行调用和以单元格调用两种方式可自由定制
外部我改不了,只能在这里添加
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>";
  }
  }

[解决办法]
才一晚上就沉了,顶起来,请教各位大大
[解决办法]
看来我得说的详细点了,原来是一级窗体为一表格数据,点选一行数据才能才能查询显示二级窗体数据,要的是点一级窗体的里的每个单元格数据也能显示二级窗体,窗体方面我没权限改动,要改方法实现,我很郁闷啊
[解决办法]
再顶起吧,真的很头痛啊~~~~~

热点排行