Wednesday 11 January 2017

கிரிட் வியூவும் XML டேட்டா சோர்ஸ் கண்ட்ரோலும்(ASP.NET)




கிரிட்  வியூ கண்ட்ரோல்(GRID VIEW)
இது டேட்டா பேஸிலிருந்து கிடைக்கப்பட்ட டேட்டாவை அட்டவணை வடிவத்தில் வெளியிடப் பயன்படுகின்றது
டேட்டா சோர்ஸ் கண்ட்ரோல்கள்

இவை டேட்டா பேஸிலிருந்து டேட்டாவை retrieve செய்ய பயன்படுகின்றது. அவற்றை அப்படியே எந்த வித நிரல் வரிகளின்றி
டேட்டா பவுண்ட் கன்ட்ரோல்களில் வெளிப்படுத்தலாம்.

முக்கியமான டேட்டா சோர்ஸ்கள்
1.     Sqldatasource- இந்த கன்ட்ரோல் sql database, oledb, odbc, oracle data base போன்றவற்றிலிருந்து டேட்டாவை பெறப்பயன்படுகின்றது.
2.     Objectdatasource-இந்த BUSINESS DATA OBJECTS (FOR EXAMPLE CLASS LIBRARY)மூலம் டேட்டாவை பெறுகின்றது.
3.     Accessdatasource-மைக்ரோ சாஃப்ட் அக்சஸிலிருந்து டேட்டாவை பெறப்பயன்படுகின்றது.
4.     Xmldatasource-xml ஃபைல்களிருந்து டேட்டாவை பெறப்பயபடுகின்றது.
Linqdatasource-இது linq மூலம் டேட்டாவை பெறப் பயன்படுகின்றது
மற்ற டேட்டா சோர்ஸ் கன்ட்ரோல்களைப் பற்றி சென்ற இதலில் பார்த்தோம்.அதில் XML டேட்டா சோர்ஸ் பற்றி இபொழுது பார்போம்
உதாரண XML FILE:
<?xml version="1.0" encoding="utf-8" ?>
<Students>
  <Student>
    <Id>101</Id>
    <Name>Ravi</Name>
    <Mark>76</Mark>
  </Student>
  <Student>
    <Id>102</Id>
    <Name>Ragu</Name>
    <Mark>87</Mark>
  </Student>
  <Student>
    <Id>103</Id>
    <Name>kumar</Name>
    <Mark>54</Mark>
  </Student>
  <Student>
    <Id>104</Id>
    <Name>rani</Name>
    <Mark>97</Mark>
  </Student>
  <Student>
    <Id>105</Id>
    <Name>raju</Name>
    <Mark>96</Mark>
  </Student>
</Students>

மேலே உள்ளது ஒரு XML FILE ஆகும்.இதை நமது ப்ராஜெக்டில் ப்ராஜெக்ட் எக்ஸ்புளோரரில் இணைத்துக் கொள்வோம்.அதற்கு நாம் ப்ராஜெக்ட் பெயரை வலது க்ளிக் செய்து ADD NEW FOLDER மூலம் DATAS என்கின்ற FOLDER ஒன்றை இணைக்கவும். பிறகு DATAS என்கின்ற ஃபோல்டரில் வலது க்ளிக் செய்து  ADD NEW ITEM என்பதில்
இடது புறத்தில் Data என்பதையும் வலது புறத்தில் Xml file என்பதையும் தேர்வு செய்யவும்.கீழே ஃபைலின் பெயரை மாற்றிக் கொள்ளலாம்.


பின்பு மேலே உள்ள xml file –ஆனதை அந்தஃபைலில் copy paste செய்யவும்.
இப்பொழுது ஃபார்மில் xml data source control ஒன்றும் க்ரிட் வீயு ஒன்றையும்.
இணைத்துக் கொள்ளவும்.xml data source-ஆனதை வலது க்ளிக் செய்யவும்.இப் பொழுது configure data source என்பதில் xml file –யை தேர்வு செய்யவும்.
பிறகு கிரிட் வீயூவின் டேட்டா சோர்சாக xml data source-yai  ஆக

பிழை ஏற்படும்.அதை இரு வழிகளில் சரி செய்யலாம்.
முதல் வழி:element –களை attributes ஆக மாற்றுதல்.
<?xml version="1.0" encoding="utf-8" ?>
<Students>
  <Student Id="101" Name="Ram" Mark="87"/>
  <Student Id="102" Name="Ravi" Mark="97"/>
  <Student Id="103" Name="Ragu" Mark="64"/>
  <Student Id="104" Name="Rani" Mark="89"/>
  <Student Id="105" Name="Raju" Mark="76"/>
</Students>
பின்பு DATAS ஃபோல்டரில் காப்பி செய்யவும்

இப்பொழுது XML DATA SOURCE என்பதில் இரண்டாவது ஃபைலை தேர்ந்தெடுக்கவும்.பின்பு GRID VIEW –வில் டேட்டா சோர்ஸ் ஆக XML DATASOURCE-யை தேர்வு செய்யவும்.
இப்பொழுது பிழை நீக்கப்ப்டும்.
இயக்கவும்.பின் வருமாறு வெளியீடு கிடைக்கும்.
மற்றொரு வழி:
Xslt transformation
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="Students">
    <Students>
      <xsl:apply-templates/>
    </Students>
  </xsl:template>

  <xsl:template match="Student">
    <Student>
      <xsl:for-each select="*">
        <xsl:attribute name="{name()}">
          <xsl:value-of select="text()"/>
        </xsl:attribute>
      </xsl:for-each>
    </Student>
  </xsl:template>
</xsl:stylesheet>

ரூட் எலெமென்ட் ஆன students என்பதும் சப் எலெமென்ட் ஆன student என்பதுவும் எங்கு குறிப்பிடப்பட்டுள்ளது என்பதையும் கவனிக்கவும்.
இதுவும் DATAS FOLDER –ல் காப்பி செய்யப்பட்டுள்ளது
   இப்பொழுது XML SOURCE Control source  ஆக முதல், ஃபைலையும் ட்ரன்ஸ்ஃபார்ம் ஆக
   XSLTFile1-யையும்செலெக்ட் செய்ய்வும்.

 

பின்பு க்ரிட் வீயூவின் டேட்டா சோர்ஸாக xml data source கன்ட்ரோலை குறிப்பிடவும்.
இப்பொழுது சரியான வெளீயீடு கிடைக்கும்
மிகவும் எளிதான மற்றொரு முறை dataset மூலம்  ஸ்டோர் செய்து உபயோகிக்கலாம்.
    using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;

namespace WebApplication4
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            DataSet ds = new DataSet();
            ds.ReadXml (Server.MapPath (@"~/DATAS/XMLFile1.xml"));
            GridView1.DataSource = ds;
            GridView1.DataBind();


        }
    }
}
மேலே உள்ள வரிகளில் xml file ஆனது டேட்டா செட் ஆனது xml file-யை ஸ்டோர் செய்து வெளீயிடுகின்றது.
   முத்து  கார்த்திகேயன்,மதுரை                    

                                                                                                                                                                                                                             

No comments:

Post a Comment