|
Thanks Richard Deeming and OriginalGriff ...I will test the various scenario and update you the same.
Thank you so much for the help
vikas da
|
|
|
|
|
Why are they called Generics in "modern" languages, but Templates in C++?
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
Possibly because they're not quite the same thing.
Key differences between generics and C++ templates:
- Generics are generic until the types are substituted for them at runtime. Templates are specialized at compile time so they are not still parameterized types at runtime
- The common language runtime specifically supports generics in MSIL. Because the runtime knows about generics, specific types can be substituted for generic types when referencing an assembly containing a generic type. Templates, in contrast, resolve into ordinary types at compile time and the resulting types may not be specialized in other assemblies.
- Generics specialized in two different assemblies with the same type arguments are the same type. Templates specialized in two different assemblies with the same type arguments are considered by the runtime to be different types.
- Generics are generated as a single piece of executable code which is used for all reference type arguments (this is not true for value types, which have a unique implementation per value type). The JIT compiler knows about generics and is able to optimize the code for the reference or value types that are used as type arguments. Templates generate separate runtime code for each specialization.
- Generics do not allow non-type template parameters, such as
template <int i> C {} . Templates allow them. - Generics do not allow explicit specialization (that is, a custom implementation of a template for a specific type). Templates do.
- Generics do not allow partial specialization (a custom implementation for a subset of the type arguments). Templates do.
- Generics do not allow the type parameter to be used as the base class for the generic type. Templates do.
- Templates support template-template parameters (e.g.
template<template<class T> class X> class MyClass ), but generics do not.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Oh wow, I didn't realize it was so complex. Thank you.
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
-
modified 13-Feb-14 13:20pm.
|
|
|
|
|
Lots of us can, and are willing to, help with this.
HOWEVER, you have to start by trying so solve it and then, when you have a specific difficulty, come back and ask a clear question about your issue, showing us the relevant code for the issue and any error message(s) you are getting. (Don't just say "it doesn't work".)
Then we'll try to assist.
We will NOT do your work for you.
|
|
|
|
|
|
Why did you remove the content of your question? Never delete or remove content of your question if someone replied.
He told you to update the question with more details. So update your question with needed details, you'll get answer.
thatrajaCode converters | Education Needed
No thanks, I am all stocked up. - Luc Pattyn
When you're wrestling a gorilla, you don't stop when you're tired, you stop when the gorilla is - Henry Minute
|
|
|
|
|
I will make first a start if i have question then i will add a new topic
|
|
|
|
|
Restore the content so that others could understand about the question. Still you could use same question for answers if you want. After restore you could get some ideas from member then you could start easily & come here again for new questions. FYI Some guidelines for posting questions in the forums[^]
And hereafter please don't remove the content or question.
thatrajaCode converters | Education Needed
No thanks, I am all stocked up. - Luc Pattyn
When you're wrestling a gorilla, you don't stop when you're tired, you stop when the gorilla is - Henry Minute
|
|
|
|
|
Hi,
I have a panel which is not visible to begin with. this panel had a static text, and a dropdownlist which is loaded dynamically.
On Postback, when the dropdownlist keeps disappearing, but i can still see the static question. On viewing in the firebug, the visibility for this dropdown is set to hidden. I keep setting it to visible but the dropdown does not show.
any ideas?????
|
|
|
|
|
vkEE wrote: any ideas? Yes, this seems more appropriate to the ASP.NET forum.
Veni, vidi, abiit domum
|
|
|
|
|
Hi All,
I am facing "Out of Memory" issue when I am populating TreeView hierarchy using XML. Our XML structure is very complex and it is not in fix format. There are multiple level of child nodes. I am using recursion to iterate XML and populate TreeView structure. I tried to call GC.Collect() to clear memory but still it is throwing same error.
I am using C# of .NET framework 3.5 for development.
I will appreciate if you can help me to find solution for this.
I'm providing the Code, Which I'm using for populating the treeview, below
private void addTreeNode(XmlNode xmlNode, TreeNode treeNode)
{
string attribute = "";
treeView1.ImageList = imageList1;
treeViewResponse.ImageList = imageList1;
XmlNode xNode;
TreeNode tNode;
XmlNodeList xNodeList;
foo.MoveToFollowing(XPathNodeType.Element);
namespaces1 = foo.GetNamespacesInScope(XmlNamespaceScope.All);
if (xmlNode.HasChildNodes)
{
treeNode.ImageIndex = 0;
treeNode.SelectedImageIndex = 0;
xNodeList = xmlNode.ChildNodes;
for (int x = 0; x <= xNodeList.Count - 1; x++)
{
xNode = xmlNode.ChildNodes[x];
treeNode.Nodes.Add(new TreeNode(xNode.Name));
tNode = treeNode.Nodes[x];
//treeNode.Nodes[x].ImageIndex = -1;
addTreeNode(xNode, tNode);
}
}
else
{
treeNode.ImageIndex = 1;
treeNode.NodeFont = new Font("Arial", 8, FontStyle.Bold);
treeNode.SelectedImageIndex = 1;
treeNode.Text = xmlNode.OuterXml.Trim();
}
}
Thanks in advance.
Regards,
Rajeev
|
|
|
|
|
It's probably not a memory problem.
OutOfMemory can also be thrown if you exhaust the handle pools. How many items are in this TreeView?
The common technique to avoid spending a ton of resources and time populating a TreeView is to just populate the top-level items, putting dummy placeholder items in the folders so you get a expand button next to the folder. When the folder is expanded, remove the dummy item and repopulate that folder with its real child items, including more dummy filled folders as required.
|
|
|
|
|
Member 7680434 wrote: xmlNode.OuterXml.Trim(); You don't want to create a new large string and put that in a node; it is a new object that will consume memory.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
If you don't take the trouble to use the CP editor, and enclose your code in the right tags, and format it so it's readable, then you are discouraging people from even trying to assist you.
In addition, it's probably going to be hard to estimate the source of an out-of-memory error without knowing something about the size of your data, and the machine spec on which you are trying to create the TreeView.
Something that "jumps out at me," just glancing at your code is that you are executing code that modifies the entire TreeView inside your recursive procedure that builds it, like: treeView1.ImageList = imageList1;
Also, I don't see you actually adding a Node to the Nodes Collection of the TreeView itself in your code.
Have you verified that your code to build the TreeView works on a small XML dataset ?
“But I don't want to go among mad people,” Alice remarked.
“Oh, you can't help that,” said the Cat: “we're all mad here. I'm mad. You're mad.”
“How do you know I'm mad?” said Alice.
“You must be," said the Cat, or you wouldn't have come here.” Lewis Carroll
|
|
|
|
|
Hi All,
I have a column in my table which contains a string that can have data like below:
ABC 1
ABC 10
ABC 2
ABC 100
ADBCDEF - 1
ADBCDEF - 10
ADBCDEF - 3
I need the output to be like:
ABC 1
ABC 2
ABC 10
ABC 100
ADBCDEF - 1
ADBCDEF - 3
ADBCDEF - 10
When i apply dataview.sort, it gives output as:
ABC 1
ABC 10
ABC 100
ABC 2
I need to sort my datagrid with the above column.
Can anyone provide a sorting algorithm to solve this.
Thanks
Sai
|
|
|
|
|
Tricky case.
I would split the numerical part and text part, but keep them in one class.
* Then you can order by the text first and with the numeric part second through a custom function implementing some sorting algorithm.
* or group first by text and with an array of integer attached to them like "ABC" with { 1, 2, 10, 100 } eg. Then you can order the class with the text property and print the concatenated text/integer ordered by the numerical part.
* If they can stay split in the dataview you could just do like in a database´s order by clause, simplifying things a bit.
Hope this helps.
|
|
|
|
|
It depends. In the general case, that's called Natural Sort, which isn't one specific algorithm but a family of different ways to compare strings such that their order looks "natural". That's an inherently ambiguous requirement, so there are many different implementations. It gets particularly difficult if you want to include dates.
If it's just about strings that end in some number of digits, there is an easy ad-hoc solution for that.
|
|
|
|
|
This works the way you have described. It may not be very efficient so you may want to optimise it somewhat:
public static int Compare(string first, string second)
{
if (object.ReferenceEquals(first, second))
return 0;
if (object.ReferenceEquals(null, first))
return -1;
char[] digits = new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8','9' };
int firstDigitIndex = first.IndexOfAny(digits);
int secondDigitIndex = second.IndexOfAny(digits);
string firstLhs = firstDigitIndex == -1 ? first : first.Substring(0, firstDigitIndex);
string secondLhs = secondDigitIndex == -1 ? second : second.Substring(0, firstDigitIndex);
int result = firstLhs.CompareTo(secondLhs);
if (result == 0)
{
int firstInteger = 0;
int secondInteger = 0;
if (firstDigitIndex > -1)
int.TryParse(first.Substring(firstDigitIndex), out firstInteger);
if (secondDigitIndex > -1)
int.TryParse(second.Substring(secondDigitIndex), out secondInteger);
result = firstInteger.CompareTo(secondInteger);
}
return result;
}
Test:
SortAndWriteList(new List<string>(new string[] { "ABC 1", "ABC 10", "ABC 2", "ABC 100" }));
Console.WriteLine();
SortAndWriteList(new List<string>(new string[] { "ADBCDEF - 1", "ADBCDEF - 10", "ADBCDEF - 3" }));
Console.WriteLine();
Console.ReadKey();
private static void SortAndWriteList(List<string> list)
{
if (list != null)
{
list.Sort(new Comparison<string>(Compare));
foreach (string item in list)
Console.WriteLine(item);
}
}
Result:
ABC 1
ABC 2
ABC 10
ABC 100
ADBCDEF - 1
ADBCDEF - 3
ADBCDEF - 10
|
|
|
|
|
If you want to duplicate the natural sort order used in Windows Explorer, the simplest option is to P/Invoke the StrCmpLogicalW function[^] from shlwapi.dll :
public class LogicalStringComparer : IComparer<string>
{
[DllImport("shlwapi.dll", CharSet=CharSet.Unicode, ExactSpelling=true, SetLastError=true)]
private static extern int StrCmpLogicalW(string x, string y);
public int Compare(string x, string y)
{
return StrCmpLogicalW(x, y);
}
}
StrCmpLogicalW on MSDN[^]
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
i did the serialize & de-serialize controls property this way but my way was not effective. so here is the code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
using System.Xml;
using MetroFramework;
namespace CSRAssistant
{
class Utils
{
public static void SaveProperty(System.ComponentModel.Component _Control)
{
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
XmlWriter writer = XmlWriter.Create(System.IO.Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath) + @"\Products.xml", settings);
PropertyInfo[] properties = _Control.GetType().GetProperties();
writer.WriteStartElement("metroStyleManager");
foreach (PropertyInfo pi in properties)
{
writer.WriteElementString(pi.Name, Convert.ToString(pi.GetValue(_Control, null)));
}
writer.WriteEndDocument();
writer.Flush();
writer.Close();
}
public static void ReadProperty(System.ComponentModel.Component _Control)
{
string _property = "", _value = "";
if (System.IO.File.Exists(System.IO.Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath) + @"\Products.xml"))
{
XmlReader rdr = XmlReader.Create(System.IO.Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath) + @"\Products.xml");
while (rdr.Read())
{
if (rdr.NodeType == XmlNodeType.Element)
{
if (rdr.LocalName.ToUpper() != "METROSTYLEMANAGER")
{
_property = rdr.LocalName;
_value = rdr.ReadInnerXml();
if (_property.ToUpper() == "STYLE")
((MetroFramework.Components.MetroStyleManager)_Control).Style = (MetroColorStyle)Enum.Parse(typeof(MetroColorStyle), _value);
if (_property.ToUpper() == "THEME")
((MetroFramework.Components.MetroStyleManager)_Control).Theme = (MetroThemeStyle)Enum.Parse(typeof(MetroThemeStyle), _value);
}
}
}
rdr.Close();
}
}
}
}
if control's any property is related with enum then i had handle it different for saving and reading purpose. so please look into my code and guide with best and easy to do so as a result i can very easily save & read any controls any nested property. thanks
tbhattacharjee
|
|
|
|
|
Code posted here is from: [^].
Trying to serialize Controls ... as Controls ... in Windows Forms never works; creating a Class, or Struct, to handle serializing selected Properties, and de-serializing them, works okay.
I would guess there's a specific Metro FrameWork forum somewhere (on MSDN ?) where you could get some guidance: perhaps there's some added functionality in the MetroFrameWork for doing this ?
There is a Windows 8/RT/Metro Forum here on CP: [^], although traffic is very light.
“But I don't want to go among mad people,” Alice remarked.
“Oh, you can't help that,” said the Cat: “we're all mad here. I'm mad. You're mad.”
“How do you know I'm mad?” said Alice.
“You must be," said the Cat, or you wouldn't have come here.” Lewis Carroll
|
|
|
|
|
I am not getting the difference between JavaScript var and C# dynamic, I think both works the same. Could someone tell me if there is any difference.
Thanks.
Sanju Uthaiah Bollera
|
|
|
|
|
|