各位好,datagridview已经绑定数据源,如何根据xml文件打印当前选中的行?就是根据xml文件自定义打印格式

解决方案 »

  1.   

    config文件(不一定要命名为web.config,否则你将遵循该文件自己的规范),里面只需要满足xml的基本规范就行了(顶部xml声明,下面标签成对出现).第2个,给你个建议
    <?xml version="1.0" encoding="utf-8"?>
    <controls>
      <control>
        <size>20</size>
        <position>center</position>
      </control>
      <control>
        <size>50</size>
        <position>left</position>
      </control>
    </controls>第3个,怎么读取xml不知道你了解不,用到System.Xml命名空间,以第2个的例子,找到下面所有control节点,每个节点对应一个按钮..
    using System;
    using System.Xml;
    using System.Web.UI.WebControls;public partial class test : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            XmlDocument doc = new XmlDocument();
            doc.Load(Server.MapPath("你的配置文件路径"));
            XmlNodeList nol = doc.SelectNodes("/controls/control");
            foreach (XmlNode no in nol)
            {
                Button btn = new Button();
                btn.Text = no.SelectSingleNode("text").InnerText;            
                //以此类推            //如果需要指定Button的点击事件,则需要用到委托
                btn.Click += new EventHandler(btnClick);
                //将Button添加到页面,也可以是其他服务器控件
                Page.Controls.Add(btn);
            }
        }
        protected void btnClick(object sender, EventArgs e)
        {
            Response.Write("按钮被点击了");
        }
    }另外,如果你不只创建按钮,而需要自定义控件类型,那么可能还需要用到反射,建议你可以在xml中定义一个节点<type>button</type>,<type>text</type>,用来标志类型,.只需要放入常见的一些控件类型,然后创建时做个switch判断就行了,反射效率低些而且处理也复杂