多行多列貌似可以用datagridview

解决方案 »

  1.   

    表格控件有很多种,vs winform工程里自带的有datagridview,web工程有datagrid和table
    也可以使用webbrowser用winform工程加载web控件
    或者用wpf
    或者第三方表格控件用什么控件跟你数据从哪里来的没有任何关系
      

  2.   

    嗯,我试试datagridview,可是如果想美观一点呢?
      

  3.   

    排列方式大概是这样的
    titleA 1 titleB 2 titleC 3
    titleD 4 titleE 5 titleF 6
    titleG 7
      

  4.   

    你知道什么是表格吗
    目测你这东西根本不是什么表格
    自己代码生成一些label排列一下好了
      

  5.   

    用datagridview ,自己在后台拼接列来显示你想要的效果呢
      

  6.   

    显示XML文件的数据控件
    //使用GridView控件显示XML数据
    <asp:GridView ID="gvTitle" runat="server" AutoGenerateColumns="False" 
                        Font-Names="Tahoma" Width="100%" DataKeyNames="ID" ShowHeader="False">
    <HeaderStyle Font-Names="Tahoma" HorizontalAlign="Center" />
    <RowStyle BorderColor="#DAEEEE" BorderStyle="Ridge" BorderWidth="1px" HorizontalAlign="Center" />
    <Columns>
    <asp:TemplateField>
    <ItemTemplate>
    <table class="Table" width="100%" border="0">
    <tr>
    <td bgcolor="Gray"><font color="white"><a href="AddReply.aspx?TitleID=<%# Eval("TitleID") %>"><font color="white">[回复文章]</font></a>
    <font color="white">[本篇作者:<%# Eval("UserName") %>]</font>
    </td>
    </tr>
    <tr>
    <td>发帖人:<%# Eval("UserName") %>,所属区域:<%# Eval("BoardName")%>
    </td>
    </tr>
    <tr>
    <td>标  &nbsp;&nbsp;题:回复:<%=Name %>
    </td>
    </tr>
    <tr>
    <td>发信站:MRSOFTASPNET-XMLBBS(<%# Eval("CreateDate") %>),站内
    </td>
    </tr>
    <tr>
    <td><br />  <%# Eval("Body").ToString().Replace("\n","<br>") %><br />
    </td>
    </tr>
    <tr>
    <td><hr size="1" width="98%" /></td>
    </tr>
    </table>
    </ItemTemplate>
    <ItemStyle Width="100%" />
    </asp:TemplateField>
    </Columns>
    </asp:GridView>
    //调用公共类中的GetData方法,读取XML文件中的数据
    private object GetData(DataTable dt,string sColumnName,string dColumnName,string sValue)
    {
    DataRow[] rows = dt.Select(sColumnName + "='" + sValue + "'");
    if(rows.Length <= 0) return null;
    return rows[0][dColumnName];
    }//codego.net/tags/11/1/
    //实现自定义公共类方法
    public static DataTable GetData(string path,string tableName,params XmlParamter[] param)
    {
    //创建XmlDocument类的实例
                XmlDocument xmldoc = new XmlDocument();
                //调用XmlDocument类中的Load()方法加载XML文件
                xmldoc.Load(path);
                //创建DataTable类型的变量dt
    DataTable dt = new DataTable();
    ///获取根节点
                XmlNode rootNode = xmldoc.SelectSingleNode("/" + tableName + "s");
                //判断节点及其子节点是否为空,为空将返空值
    if(rootNode == null) return null;
    if(rootNode.ChildNodes.Count == 0) return null;
    ///创建保存记录的数据列
    foreach(XmlAttribute attr in rootNode.ChildNodes[0].Attributes)
    {
    dt.Columns.Add(new DataColumn(attr.Name,typeof(string)));
    }
    ///创建获取数据节点的XPath
    string xmlPath = "/" + tableName + "s/" + tableName;
    int operationCount = 0;
    StringBuilder operation = new StringBuilder();
    foreach(XmlParamter p in param)
    {
    if(p.Direction == ParameterDirection.Insert
    || p.Direction == ParameterDirection.Update)
    {
    continue;
    }
    ///创建条件表达式
    switch(p.Direction)
    {
    case ParameterDirection.Equal:
    operation.Append("@" + p.Name + "='" + p.Value + "'");
    break;
    case ParameterDirection.NotEqual:
    operation.Append("@" + p.Name + "<>'" + p.Value + "'");
    break;
    case ParameterDirection.Little:
    operation.Append("@" + p.Name + "<'" + p.Value + "'");
    break;
    case ParameterDirection.Great:
    operation.Append("@" + p.Name + ">'" + p.Value + "'");
    break;
    case ParameterDirection.Like:
    operation.Append("contains(@" + p.Name + ",'" + p.Value + "')");
    break;
    default: break;
    }
    operationCount++;
    operation.Append(" and ");
    }
    if(operationCount > 0)
    {   ///修正XPath
    operation.Remove(operation.Length - 5,5);
    xmlPath += "[" + operation.ToString() + "]";
    }
                //获取XML节点下的所有节点
                XmlNodeList nodeList = xmldoc.SelectNodes(xmlPath);
    ///遍历所有节点,并添加节点的数据
    foreach(XmlNode node in nodeList)
    {
    DataRow row = dt.NewRow();
    foreach(DataColumn column in dt.Columns)
    {   ///读取每一个属性
    row[column.ColumnName] = node.Attributes[column.ColumnName].Value;
    }
    dt.Rows.Add(row);
    }
    return dt;
    }