14 Replies - 17338 Views - Last Post: 05 February 2011 - 04:38 PM

#1 Core  Icon User is offline

  • using System.Linq;
  • member icon

Reputation: 774
  • View blog
  • Posts: 5,097
  • Joined: 08-December 08

Week #19 Challenge: C#

Post icon  Posted 10 May 2010 - 12:45 PM

*
POPULAR

C# is a programming language developed by Microsoft. It incorporates the best features of its influencing languages - Java and C-like languages. It is an object-oriented language that is constantly developed and improved by Microsoft.

Recently, the C# version 4.0 was released, introducing significant new features, like dynamic typing, optional parameters and indexed properties.

C# is a managed programming language - this means that it is not compiled directly to native code, but rather to MSIL (Microsoft Intermediate Language) first, and then to the platform-specific native code. C# doesn't offer the same capabilities as native languages when it comes to portability, as applications developed with it will require the development framework to be installed. That can be either .NET Framework (developed and maintained by Microsoft) or the Mono Framework (developed and maintained by Novell). Note, that these two framework are not interchangeable - although the C# code is the same, library calls are different. That being said, C# is indeed a cross-platform language. It runs on Windows, Linux and Mac.

To get started, I recommend you starting with our C# tutorials.

I would also recommend checking out MSDN, that is the key point for developers using Microsoft tools.

If you have a background in C-like programming languages (like Java or C++) you will find the transition quite easy. If not, with a little bit of time on your hand you will be able to pick up the fundamentals.

Tools for you to get started (all are free):


Ideas to get you started:
  • An application that gets the desktop screenshot
  • An application that can send an email message
  • A small web-browser
  • An application that draws shapes on the window


If you have questions, you can always ask those in our C# forum.

Let the challenge begin!

Is This A Good Question/Topic? 5
  • +

Replies To: Week #19 Challenge: C#

#2 programble  Icon User is offline

  • (cons :dic :head)

Reputation: 49
  • View blog
  • Posts: 1,315
  • Joined: 21-February 09

Re: Week #19 Challenge: C#

Posted 10 May 2010 - 01:19 PM

Don't forget SharpDevelop IDE.
Was This Post Helpful? 1
  • +
  • -

#3 SixOfEleven  Icon User is offline

  • using Caffeine;
  • member icon

Reputation: 945
  • View blog
  • Posts: 6,342
  • Joined: 18-October 08

Re: Week #19 Challenge: C#

Posted 10 May 2010 - 02:34 PM

My language of choice so I will definitely post something this time around. Will try something that I've never attempted before though not sure what.
Was This Post Helpful? 0
  • +
  • -

#4 C++ Programmer  Icon User is offline

  • D.I.C Addict
  • member icon

Reputation: 20
  • View blog
  • Posts: 548
  • Joined: 12-June 08

Re: Week #19 Challenge: C#

Posted 10 May 2010 - 02:48 PM

Might actually participate this time, C# is one of my favorites.
Was This Post Helpful? 0
  • +
  • -

#5 Gamegoofs2  Icon User is offline

  • D.I.C Head

Reputation: 5
  • View blog
  • Posts: 159
  • Joined: 15-April 09

Re: Week #19 Challenge: C#

Posted 11 May 2010 - 09:00 AM

You can develop with C# without Microsoft Visual C#?
Was This Post Helpful? 0
  • +
  • -

#6 SwiftStriker00  Icon User is offline

  • No idea why my code works
  • member icon

Reputation: 433
  • View blog
  • Posts: 1,596
  • Joined: 25-December 08

Re: Week #19 Challenge: C#

Posted 11 May 2010 - 11:35 AM

yes you can use mono, or a combination of notepad++/(insert your fav editor here) and the C# compiler
Was This Post Helpful? 0
  • +
  • -

#7 MentalFloss  Icon User is offline

  • "ADDICTED"[2:5]
  • member icon

Reputation: 526
  • View blog
  • Posts: 1,397
  • Joined: 02-September 09

Re: Week #19 Challenge: C#

Posted 11 May 2010 - 11:42 AM

Neat.

Quote

You can develop with C# without Microsoft Visual C#?


Yeah, as programble mentioned, SharpDevelop is available: http://www.icsharpco.../Opensource/SD/

EDIT:
SwiftStriker00 replied before I did. They also gave more options...

This post has been edited by MentalFloss: 11 May 2010 - 11:44 AM

Was This Post Helpful? 0
  • +
  • -

#8 Nakor  Icon User is offline

  • Professional Lurker
  • member icon

Reputation: 444
  • View blog
  • Posts: 1,492
  • Joined: 28-April 09

Re: Week #19 Challenge: C#

Posted 12 May 2010 - 02:54 PM

This is a small program I created to help with my current job. It's purpose is to locate leaks in pressurized telephone cables. (Some phone cables are pressurized to keep water from getting into the cable).

This is just the main class and I still have quite a bit to do to it before I would consider it finished but it does perform well enough to be used.
Posted Image

Posted Image

using System;
using System.Collections.Generic;

namespace apCalculator
{

        public class apCalc
        {
        public List Pressures = new List();
        public List Distances = new List();
                
                public decimal Resistance {get; private set; }
                public decimal AirFlow { get; private set; }
                public bool isDualFed { get; set; }
                
                public int Gauge { get; set; }
                public int PairCount { get; set; }
                
                #region (Cable Resistance Dictonaries)
                private Dictionary gauge_19 = 
                        new Dictionary(){
                        {11, 20.0m}, {16, 15.0m}, {25, 10.0m}, {50, 6.0m},
                        {75, 4.0m}, {100, 3.0m}, {150, 2.0m}, {200, 1.5m},
                        {300, 1.0m}, {400, 0.8m}, {450, .7m}};
                
                private Dictionary gauge_22 = 
                        new Dictionary(){
                        {11, 50.0m}, {16, 40.0m}, {25, 25.0m}, {50, 15.0m},
                        {75, 10.0m}, {100, 7.5m}, {150, 5.0m}, {200, 4.0m},
                        {300, 3.0m}, {400, 2.0m}, {450, 1.8m}, {600, 1.5m},
                        {900, 1.0m}, {1100, 0.8m}, {1200, 0.7m}};
                        
                private Dictionary gauge_24 = 
                        new Dictionary(){
                        {11, 60.0m}, {16, 50.0m}, {25, 40.0m}, {50, 20.0m},
                        {75, 16.0m}, {100, 13.0m}, {150, 10.0m}, {200, 8.0m},
                        {300, 5.0m}, {400, 4.0m}, {600, 2.5m}, {900, 1.9m},
                        {1200, 1.5m}, {1500, 1.2m}, {1800, 0.9m}};
                
                private Dictionary gauge_26 = 
                        new Dictionary(){
                        {11, 90.0m}, {16, 80.0m}, {25, 50.0m}, {50, 40.0m},
                        {75, 25.0m}, {100, 20.0m}, {150, 15.0m}, {200, 11.5m},
                        {300, 7.5m}, {400, 6.0m}, {600, 4.5m}, {900, 3.0m},
                        {1200, 2.2m}, {1500, 1.8m}, {1800, 1.6m}, {2100, 1.3m},
                        {2400, 1.0m}, {2700, 0.8m}, {3000, 0.7m}, {3600, 0.6m}};
                #endregion
                
                public apCalc()
                {
                        // Default Constructor
                }
                
                public apCalc(int gauge, int pairs, List distances, List pressures)
                {
                        // Constructor that sets gauge, pairs, distances and pressures, then calculates the AirFlow
                        Distances = distances;
                        Pressures = pressures;
                        Gauge = gauge;
                        PairCount = pairs;
                        isDualFed = false;
                        getAirFlow();
                }
                
                private void getResistance()
                {
                    // calculates the resistance based on the number of pairs in the cable and the gauge of the pairs
                        decimal resistance = 0.0m;
                        switch(Gauge)
                        {                               
                                case 0:
                                        gauge_19.TryGetValue(PairCount, out resistance);
                                        break;
                                case 1:
                                        gauge_22.TryGetValue(PairCount, out resistance);
                                        break;
                                case 2:
                                        gauge_24.TryGetValue(PairCount, out resistance);
                                        break;
                                case 3:
                                        gauge_26.TryGetValue(PairCount, out resistance);
                                        break;
                        }
                        
                        Resistance = resistance;
                }
                
                private void getAirFlow()
                {
                    // Set the resistance of the cable before attempting to calculate the air flow
            getResistance();
                        try
                        {
                                // calculate the air flow
                                AirFlow = (Pressures[0] - Pressures[1]) / (Distances[1] - Distances[0]) / Resistance * 1000;
                        }
                        catch (Exception ex)
                        {
                                throw ex;
                        }
                }
                
                public decimal getZeroLeakProjection()
                {
                    // If the air flow has not been set, then set it
            if (AirFlow == 0.0m)
            {
                getAirFlow();
            }
                        
                        // Return the zero leak projection
            return ((Pressures[0] / AirFlow) / Resistance) * 1000.0m;
                }
                
                public decimal getBackProjection()
                {
            try
            {
                                // If the air flow has not been set, then set it
                if (AirFlow == 0.0m)
                {
                    getAirFlow();
                }
                                
                                // Get the Zero Leak Projection
                decimal ZLP = getZeroLeakProjection();
                decimal pressurePastZLP = 0.0m;
                decimal distance = 0.0m;

                                // Find the first pressure past the Zero Leak Projection
                for (int i = 0; i < Distances.Count; i++)
                {
                    distance += Distances[i];
                    if (distance > ZLP)
                    {
                        pressurePastZLP = Pressures[i];
                        break;
                    }
                }
                                // Return the Back Projection
                return (((Pressures[0] - pressurePastZLP) / AirFlow) / Resistance) * 1000.0m;
            }
            catch (Exception ex)
            {
                throw ex;
            }
                }
        }
}



Was This Post Helpful? 2
  • +
  • -

#9 baavgai  Icon User is offline

  • Dreaming Coder
  • member icon

Reputation: 5820
  • View blog
  • Posts: 12,672
  • Joined: 16-October 07

Re: Week #19 Challenge: C#

Posted 13 May 2010 - 07:03 AM

I work primarily in C# and it's one of my favorite languages. Unfortunately, it's hard to show off some of it's best features, because they're integrated into the IDE. Also, a joy for large projects; also hard to show. I like the delegate and event system a lot, and most people don't seem to really leverage it. Generics, OO, Properties, all good.

Here, I'm moving out of the standard C# box. You simply don't do GUI in C# without the IDE. Some DIC notable recently went so far as to say you couldn't. While it can be laborious to do GUI by hand, it's no worst than Java; .NET programmers are just spoiled. Also, it allows you to do things that will make the IDE sputter and scream, like an abstract Form.

This is a generic menu program. I'm trying to highlight a number of things, particularly delegates, anonymous and otherwise. You should just be able to cut and past this into VS and run it.

using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Diagnostics;

namespace DynamicMenu {
	class DynamicMenuButton : Button {
		public delegate void ButtonHandler();
		protected ButtonHandler handler;

		public DynamicMenuButton(string text, ButtonHandler handler) { Init(text, handler); }
		public DynamicMenuButton(string text) { Init(text, null); }

		protected virtual void Init(string text, ButtonHandler handler) {
			this.Text = text;
			if (handler==null) {
				this.handler = delegate() { MessageBox.Show("Button " + this.Text + " clicked. "); };
			} else {
				this.handler = handler;
			}
			this.Size = new System.Drawing.Size(75, 23);
			this.Name = this.Text;
			this.UseVisualStyleBackColor = true;
			this.Click += new EventHandler(onclick);
		}

		private void onclick(object sender, EventArgs e) { handler(); }

	}

	abstract class DynamicMenu : System.Windows.Forms.Form {
		private FlowLayoutPanel flowPanel;
		private List<Button> buttons = new List<Button>();

		protected abstract void AddButtons();



		public DynamicMenu() {
			flowPanel = new FlowLayoutPanel();
			flowPanel.AutoSize = true;
			flowPanel.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
			flowPanel.FlowDirection = System.Windows.Forms.FlowDirection.TopDown;
			flowPanel.Dock = System.Windows.Forms.DockStyle.Fill;

			this.AddButtons();
			flowPanel.Resize += new EventHandler(flowPanel_Resize);

			this.SuspendLayout();
			this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
			this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
			this.ClientSize = new System.Drawing.Size(150, 350);
			this.Controls.Add(flowPanel);
			this.Text = "Menu";
			flowPanel.PerformLayout();
			this.ResumeLayout(false);
			this.PerformLayout();
		}

		protected void AddButton(Button B)/> {
			buttons.Add(B)/>;
			flowPanel.Controls.Add(B)/>;
		}

		private void flowPanel_Resize(object sender, EventArgs e) {
			foreach (Button b in buttons) {
				b.Width = this.ClientSize.Width-10;
			}
		}

	}

	class MyMenu : DynamicMenu {

		public MyMenu() { }

		private void AddButton(string text, DynamicMenuButton.ButtonHandler handler) {
			AddButton(new DynamicMenuButton(text, handler));
		}

		protected override void AddButtons() {
			AddButton("Test Button X", null);
			AddButton("Calc", Calc);
			AddButton("Notepad", delegate() {
				CallProg("notepad.exe");
			});
			AddButton("Exit", delegate() { this.Close(); });
		}

		private void Calc() {
			CallProg("calc.exe");
		}

		private void CallProg(string commandLine) {
			System.Diagnostics.Process.Start(commandLine);
		}
	}

	static class Program {
		/// <summary>
		/// The main entry point for the application.
		/// </summary>
		[STAThread]
		static void Main() {
			Application.EnableVisualStyles();
			Application.SetCompatibleTextRenderingDefault(false);
			Application.Run(new MyMenu());
		}
	}
}


Was This Post Helpful? 1
  • +
  • -

#10 BigR1983  Icon User is offline

  • D.I.C Head

Reputation: 57
  • View blog
  • Posts: 221
  • Joined: 12-April 10

Re: Week #19 Challenge: C#

Posted 14 May 2010 - 06:43 AM

This has been my first project written in C#. Learning to love it.

It is a Folder Monitoring program to allow my automated tests at work to upload to the report server as they are created instead of our old process of running once a day.

Im sure that I could clean it up alot, and I think that I have a small memory leak somewhere, but havent had the time to investigate it.

If you have a look at it, and if you have any suggestions, i would love to hear them.

Thanks

Edit: also, requires the MySQL Net Connector installed.

Attached File(s)


This post has been edited by BigR1983: 14 May 2010 - 06:51 AM

Was This Post Helpful? 1
  • +
  • -

#11 EvLSnoopY  Icon User is offline

  • D.I.C Head
  • member icon

Reputation: 17
  • View blog
  • Posts: 93
  • Joined: 24-November 09

Re: Week #19 Challenge: C#

Posted 19 May 2010 - 12:43 PM

Just recently I've got into the Daily Cryptoquotes that are in the back of my local newspaper. And while trying to decrypt the quotes I found myself wasting a lot of paper and time. Eventually I would lose interest in figuring out what the quote was because of the whole paper process. Well I have now created a paperless solution to my problem. I created the following program just last weekend. And now I have a tool that will aid me in solving the Daily Cryptoquotes. I think it's a pretty neat program. Download it and try it for yourself!
Attached Image
Attached Image
Look at the code and let me know if you have any better methods for going about doing what I have done. This is my first project in c# that carries some type of substance and i'm ready and willing to take criticism.
Attached File  Cypher.zip (54.92K)
Number of downloads: 409
Was This Post Helpful? 0
  • +
  • -

#12 AdamSpeight2008  Icon User is offline

  • MrCupOfT
  • member icon


Reputation: 2262
  • View blog
  • Posts: 9,462
  • Joined: 29-May 08

Re: Week #19 Challenge: C#

Posted 07 June 2010 - 10:30 AM

Starting learn so of the features of C#
I do like the simpler way of doing lamdas to vb.net.

Since To is no longer a keywords, as opposed to vb.net, I have a simple way to define a range of letters.
static public class exts
{
  static public IEnumerable<char> To(this char f, char t)
  {
    int delta = t - f;
    return ( delta>=0 ? 
     Enumerable.Range(f, delta + 1).Select(x => (char)x) :
     Enumerable.Range(t, Math.Abs(delta - 1)).Reverse().Select(x => (char)x));
  } 
  static public IEnumerable<int> To(this int f,int t)
  {
    int delta = t - f;
    return  (delta >= 0 ?
     Enumerable.Range(f, delta + 1) :
     Enumerable.Range(t, Math.Abs(delta - 1)).Reverse());
  }  
}



namespace ConsoleApplication2
{
  class Program
  {
    static void Main(string[] args)
    {
      var nums = 1.To(10);
      var alpha = 'A'.To('Z');
    }
  
  }  
}

Was This Post Helpful? 1
  • +
  • -

#13 josh06  Icon User is offline

  • D.I.C Head
  • member icon

Reputation: 14
  • View blog
  • Posts: 139
  • Joined: 27-October 06

Re: Week #19 Challenge: C#

Posted 17 August 2010 - 01:05 PM

Did a very simple C# Lesson at college induction today on how to link events and stuff.
So I went and made a calculator.

It's very simple, but it works.

Here's the code for the main form:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace testApp
{
    public partial class Form1 : Form
    {
        string sum;
        int firstNum;
        int secondNum;
        int finalNum;

        public Form1()
        {
            InitializeComponent();
        }

        private void btnZero_Click(object sender, EventArgs e)
        {
            calcDisplay.Text =  calcDisplay.Text + "0";
        }

        private void btnOne_Click(object sender, EventArgs e)
        {
            calcDisplay.Text =  calcDisplay.Text + "1";
        }

        private void btnTwo_Click(object sender, EventArgs e)
        {
            calcDisplay.Text = calcDisplay.Text + "2";
        }

        private void btnThree_Click(object sender, EventArgs e)
        {
            calcDisplay.Text = calcDisplay.Text + "3";
        }

        private void btnFour_Click(object sender, EventArgs e)
        {
            calcDisplay.Text = calcDisplay.Text + "4";
        }

        private void btnFive_Click(object sender, EventArgs e)
        {
            calcDisplay.Text = calcDisplay.Text + "5";
        }

        private void btnSix_Click(object sender, EventArgs e)
        {
            calcDisplay.Text = calcDisplay.Text + "6";
        }

        private void btnSeven_Click(object sender, EventArgs e)
        {
            calcDisplay.Text = calcDisplay.Text + "7";
        }

        private void btnEight_Click(object sender, EventArgs e)
        {
            calcDisplay.Text = calcDisplay.Text + "8";
        }

        private void btnNine_Click(object sender, EventArgs e)
        {
            calcDisplay.Text = calcDisplay.Text + "9";
        }

        private void btnClear_Click(object sender, EventArgs e)
        {
            calcDisplay.Text = "";
        }

        private void btnAdd_Click(object sender, EventArgs e)
        {
            sum = "+";
            firstNum = Int32.Parse(calcDisplay.Text);
            calcDisplay.Text = "";
        }

        private void btnEquals_Click(object sender, EventArgs e)
        {
            secondNum = Int32.Parse(calcDisplay.Text);
            switch (sum)
            {
                case "+":
                    finalNum = firstNum + secondNum;
                    break;
                case "-":
                    finalNum = firstNum - secondNum;
                    break;
                case "*":
                    finalNum = firstNum * secondNum;
                    break;
                case "/":
                    finalNum = firstNum / secondNum;
                    break;
            }
            calcDisplay.Text = finalNum.ToString();
        }

        private void btnMinus_Click(object sender, EventArgs e)
        {
            sum = "-";
            firstNum = Int32.Parse(calcDisplay.Text);
            calcDisplay.Text = "";
        }

        private void btnMultiply_Click(object sender, EventArgs e)
        {
            sum = "*";
            firstNum = Int32.Parse(calcDisplay.Text);
            calcDisplay.Text = "";
        }

        private void btnDivide_Click(object sender, EventArgs e)
        {
            sum = "/";
            firstNum = Int32.Parse(calcDisplay.Text);
            calcDisplay.Text = "";
        }

        private void closeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
        {
            aboutForm f2 = new aboutForm();
            f2.Show();
        }
    }
}


And here's a screenshot aha

Attached image(s)

  • Attached Image

Was This Post Helpful? 0
  • +
  • -

#14 Janitor  Icon User is offline

  • D.I.C Head

Reputation: 6
  • View blog
  • Posts: 56
  • Joined: 30-July 10

Re: Week #19 Challenge: C#

Posted 16 November 2010 - 07:21 AM

Though this entry is a bit old, I've decided to submit in anyway...Similar to the calculator mentioned, above but used Boolean operators and if statement to calculate the addition, subtraction etc...Though I could've used a Switch Case statement which would of been more appropriate...

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Calculator
{
    public partial class Form1 : Form
    {
        #region
        double X;
        double Y;

        bool plus = false;
        bool take = false;
        bool divide = false;
        bool times = false;

        #endregion

        public Form1()
        {
            InitializeComponent();

        }
       
        
        private void button1_Click(object sender, EventArgs e)
        {
            textBox1.Text += 1;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            textBox1.Text += 2;
        }

        private void button3_Click(object sender, EventArgs e)
        {
            textBox1.Text += 3;
        }

        private void button6_Click(object sender, EventArgs e)
        {
            textBox1.Text += 4;
        }

        private void button5_Click(object sender, EventArgs e)
        {
            textBox1.Text += 5;
        }

        private void button4_Click(object sender, EventArgs e)
        {
            textBox1.Text += 6;
        }

        private void button9_Click(object sender, EventArgs e)
        {
            textBox1.Text += 7;
        }

        private void button8_Click(object sender, EventArgs e)
        {
            textBox1.Text += 8;
        }

        private void button7_Click(object sender, EventArgs e)
        {
            textBox1.Text += 9;
        }

        private void button12_Click(object sender, EventArgs e)
        {
            textBox1.Text = " ";
        }

        private void button11_Click(object sender, EventArgs e)
        {
            textBox1.Text += 0;
        }
        
        private void button13_Click(object sender, EventArgs e)
        {
            textBox1.Text += ".";
        }


        public void button17_Click(object sender, EventArgs e)
        {
            X = double.Parse(textBox1.Text);
            
            textBox1.Text = " ";
            plus = true;
        }

        private void button16_Click(object sender, EventArgs e)
        {
            X = double.Parse(textBox1.Text);

            textBox1.Text = " ";
            take = true;
        }

        private void button15_Click(object sender, EventArgs e)
        {
            X = double.Parse(textBox1.Text);

            textBox1.Text = " ";
            divide = true;
        }

        private void button14_Click(object sender, EventArgs e)
        {
            X = double.Parse(textBox1.Text);

            textBox1.Text = " ";
            times = true;
        }

        private void button10_Click(object sender, EventArgs e)
        {
            Y = double.Parse(textBox1.Text);
            double Z = 0;
            if ( plus == true)
            {
                plus  = false;
                Z = X + Y;
            }
            if (times == true)
            {
                times = false;
                Z = X * Y;
            }
            if (divide == true)
            {
                divide = false;
                Z = X / Y;
            }
            if (take == true)
            {
                take = false;
                Z = X - Y;
            }
            textBox1.Text =  " "+ Z;
        }

        private void closeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}


Was This Post Helpful? 0
  • +
  • -

#15 Nakor  Icon User is offline

  • Professional Lurker
  • member icon

Reputation: 444
  • View blog
  • Posts: 1,492
  • Joined: 28-April 09

Re: Week #19 Challenge: C#

Posted 05 February 2011 - 04:38 PM

A modified ASP.net gridview control I created in C#. Provides for a little better paging than the default, at least in my opinion, as well as allowing the user to select how many items to show per page.

Spoiler


And an example of it's use in a page:

<cc1:NewGrid ID="GridView1" runat="server" AllowPaging="True" 
    AutoGenerateColumns="true" DataKeyNames="emp_id"
    DataSourceID="SqlDataSource1" AllowSorting="True"
    EnableCustomPaging="true" PagerPageSizeItems="10,20,30"
    PagerSettings-PreviousPageText="<<" PagerSettings-NextPageText=">>"
    PagerDropDownCss="DropDownCss">
</cc1:NewGrid>


This post has been edited by Nakor: 05 February 2011 - 04:44 PM

Was This Post Helpful? 0
  • +
  • -

Page 1 of 1