Quantcast
Channel: SharePoint 2010 - Development and Programming forum
Viewing all articles
Browse latest Browse all 11508

Creating a Simple DataFormWebPart c#

$
0
0
Hi there am creating a simple DataFormWebpart which outputs XML e.g the one given below.

<dsQueryResponse>
<Rows>
<Row Title="Emp1" Status="Clerk" Description="Just a clerk" />
<Row Title="Emp2" Status="Supervisor" Description="Sup for Electrics" />
<Row Title="Emp3" Status="Manger" Description="Man for Services" />
</Rows>
</dsQueryResponse>

The problem I am having is I cant see the output . I have tried to put a basics XSL but no joy. I tried to bring it in SPD but no joy. How do i know the below will work ? See below full code. I seem to get it wrong but am not sure 


using System;
using System.ComponentModel;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;

using System.Data;
using System.Xml;

namespace SharePointProject1.DATAFORM.EDataFormWebPart
{
    [ToolboxItemAttribute(false)]
    public class EDataFormWebPart : Microsoft.SharePoint.WebPartPages.DataFormWebPart
    {
        protected override void CreateChildControls()
        {
        }
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            try
            {                
                this.DataSource = sorce();                
                this.DataBind();
                
            }
            catch (Exception ex)
            {
                this.Controls.Add(new LiteralControl("ERROR: " + ex.Message));
            }
        }


        DataTable GetResults()
        {
            DataTable dt = new DataTable();

            dt.Columns.Add("Title", typeof(string));
            dt.Columns.Add("Status", typeof(string));
            dt.Columns.Add("Description", typeof(string));
            

            DataRow dr;
            dr = dt.NewRow();
            dr["Title"] = "Emp1";
            dr["Status"] = "Clerk";
            dr["Description"] = "Just a clerk";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["Title"] = "Emp2";
            dr["Status"] = "Supervisor";
            dr["Description"] = "Sup for Electrics";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["Title"] = "Emp3";
            dr["Status"] = "Manger";
            dr["Description"] = "Man for Services";
            dt.Rows.Add(dr);

            return dt;
        }



        XmlDocument CreateXMLFromDT(DataTable dt)
        {
            XmlDocument doc = new XmlDocument();
            XmlNode queryResponse = doc.AppendChild(doc.CreateElement("dsQueryResponse"));
            XmlNode root = queryResponse.AppendChild(doc.CreateElement("Rows"));


            foreach (DataRow row in dt.Rows)
            {
                XmlElement rowNode = doc.CreateElement("Row");
                foreach (DataColumn col in row.Table.Columns)
                {
                    string val = row[col].ToString();
                    XmlAttribute att = doc.CreateAttribute(col.ColumnName);                    
                    att.Value = val;
                    rowNode.Attributes.Append(att);
                }
                root.AppendChild(rowNode);
            }

            doc.DocumentElement.AppendChild(root);
            return doc;

        }

        XmlDataSource sorce()
        {
            XmlDataSource source1 = new XmlDataSource();
            DataTable dt = new DataTable();
            XmlDocument XMLFromDT = new XmlDocument();
            dt = GetResults();
            XMLFromDT = CreateXMLFromDT(dt);
            source1.Data = XMLFromDT.InnerXml;
            return source1;
        }
    }
}


Viewing all articles
Browse latest Browse all 11508

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>