|
that works great I just tried it
thanks so much I was close but I don't think I would have gotten that for a while
|
|
|
|
|
you're welcome.
Luc Pattyn [Forum Guidelines] [My Articles]
this weeks tips:
- make Visual display line numbers: Tools/Options/TextEditor/...
- show exceptions with ToString() to see all information
- before you ask a question here, search CodeProject, then Google
|
|
|
|
|
Someone else suggested this solution
private SortedList<string, int> getTotals(BindingSource BS, string column)
{
SortedList<string, int> list = new SortedList<string, int>();
string name;
foreach (DataRowView row in BS)
{
name = (string)row[column];
if (list.ContainsKey(name))
{
list[name]++;
}
else
{
list.Add(name, 1);
}
}
return list;
}
Side thought
is there an easy way to "strip" the key values into an array that i could feed a combobox?
|
|
|
|
|
Hi,
if you have .NET 2.0 or better, you can use generics such as SortedList<string,int>
and that should allow you to do list[name]++;
so it gives you the same base idea, a more readable source, and it eliminates the
need to cast to int, so it does save some CPU cycles.
I trust that is what you meant, but if so the HTML eater has swallowed it.
list.Keys is the collection that holds all the key values, I guess you could feed it directly
into a ComboBox through its DataSource property.
If you need to know more, please read up on it either on your local MSDN that came with
Visual Studio, or on http://msdn2.microsoft.com[^]
Luc Pattyn [Forum Guidelines] [My Articles]
this weeks tips:
- make Visual display line numbers: Tools/Options/TextEditor/...
- show exceptions with ToString() to see all information
- before you ask a question here, search CodeProject, then Google
|
|
|
|
|
Hi all.
I have an application which reads a msmq path from the config file and passes to an storedprocedure.The entry in config file is as follows
<add key="XMLMSMQRecievePath" value="FormatName:DIRECT=OS:TESTCLUSTER\Private$\Sports-XML-IN\xmlcache">
Now i am storing it a string variable called "XMLMSMQRecievePath" and passed to the storedprocedure name "UpdateAuditLogDetails"
using folowing stmts
daUpdateAuditLogDetails.SelectCommand.Parameters["@XMLMSMQRecievePath"].Value = XMLMSMQRecievePath;
daUpdateAuditLogDetails.Fill(dsUpdateAuditLogDetails, "UpdateAuditLogDetails");
but i am getting the error as following
Error, Number = 0x10001165, Source = \"MSMQQueueInfo\", Desc = \"The specified format name is invalid. \""}
My storeed procedure accepts a varchar of size 2000 for it,Can any one help me on this
Regards
DilipRam
|
|
|
|
|
I think "XMLMSMQRecie vePath" is spelled wrong, but I'm just guessing.
|
|
|
|
|
Hi
No its not any thing realted with spelling...
Regards
DilipRam
|
|
|
|
|
i have two homework:
the first homework :when i use Directory.GetCurrentDirectory(),it return current dirrector is debug directory
the second one:it return Release Directory
I don't understand when return Realeas and When return Debug
please help me
thanks
|
|
|
|
|
Actually GetCurrentDirectory Method returns the last directory used in your application
Obviously when you call it at first you will get the executable path directory so if you set the build mode to Debug it will give you the Debug path and if you set it to Release mode it will give you Release path.
and if you browse another path in your program you will have it if you call GetCurrentDirectory method
hope the post help
|
|
|
|
|
If you build your application under the Debug configuration in Visual Studio (or just hit F5 to start the app under the debugger), it will use the Debug directory. If you build your app using the Release configuration in Visual Studio, it will use the Release directory. Simply put, that's where the built .exe goes when you build your application.
|
|
|
|
|
Hi All,
I have a listview with two columns and in my first column i m creating a textbox when i double click the listviewitem.And i have context menu for listview by which when there is any item selected and i press Del it will delete the selected item .Now , when i m in textbox and i write something and press to Del to delete a character it deletes the listviewitem while i want to delete only the character.
How can i fix it , please give me some help.
Thanx.
Praveen Sharma
|
|
|
|
|
Are you sure you use ListView.KeyPress Event for deleting an Item ?
|
|
|
|
|
No i m not using it , i m using context menu and for deleting a item i have set the shortcut key (Delete), but when i m in the textbox and i want to delete a character in textbox and press Delete key the message for deleting the listview item is coming up which i don't want i only want to delete a listviewitem when i m not in the textbox.
Praveen Sharma
|
|
|
|
|
Hello,
I would like to use a progress bar to monitor the loading of my data grid. I would like some help in selecting the best events in the bindingsource and/or DataGridView to increment the progress bar on my screen and setting the maximum value to increment too.
I tried using DataGridView.RowCount for the maximum value of the pbar and the event GridRowsAdded to increment the value but I get an error when I filter the data using a dataview since the RowCount is not accurate until the DataGridView is populated.
Is there an event in the bindingSource that would give me the maximum value before the data is added to the grid? Or is there some other way to do this that makes more sense?
The previous help on this board helped my solution and I appreciate that. Thanks.
Boyd
Boyd
|
|
|
|
|
Does anybody know if there's a way to interact with a printer that prints onto CD's? I've googled it and haven't found anything promising. The app that I'm writing is going to need it. Any ideas?
may your code be error free
|
|
|
|
|
The code below reads data from a binary file into an instance, then writes that instance to an instance array (forgive me if my terminology is wrong, I'm self taught ^^)
The first time it runs through the loop it works fine, but as it goes through the second iteration it begins to over write the data in ItemsArray[0], even though the counter c is now 1 AND i haven't even told it to write to the array.
It is as if it were writing the data to the array before being told to :s
I hope I've made the problem clear, if not, just ask for clarification
Am i making an obvious error?
Thanks ^^
Items[] ItemsArray = new Items[NumberOfRecords];<br />
Items Item = new Items();<br />
<br />
int c = 0;<br />
<br />
while (c < NumberOfRecords)<br />
{<br />
bw.Seek((c * 180), SeekOrigin.Begin);<br />
Item.SetName(br.ReadString());
bw.Seek((c * 180) + 40, SeekOrigin.Begin);<br />
Item.SetItemType(br.ReadString());<br />
bw.Seek((c * 180) + 60, SeekOrigin.Begin);<br />
Item.SetDescription(br.ReadString());<br />
bw.Seek((c * 180) + 160, SeekOrigin.Begin);<br />
Item.SetWeight(br.ReadInt32());<br />
Item.SetWeaponDamage(br.ReadInt32());<br />
Item.SetWeaponRange(br.ReadInt32());<br />
Item.SetWeaponMultiShot(br.ReadInt32());<br />
Item.SetArmourRate(br.ReadInt32());<br />
<br />
ItemsArray[c] = Item;
<br />
<br />
c++;<br />
<br />
}
|
|
|
|
|
in your iterations you didn't create a new instance of your object Items because it's out of the while loop and because it's a reference type you simply write in it again and just create a new pointer ItemsArray[c] to it so all Data in the ItemsArray would be the same
for solving this, just put the Items Item =new Item(); inside the while Loop and it would be solved I think
good luck
|
|
|
|
|
It is because you are putting the same Item in every slot in the array. You need to put the line:
Items Item = new Items();
inside the loop.
Upcoming events:
* Glasgow: Mock Objects, SQL Server CLR Integration, Reporting Services, db4o, Dependency Injection with Spring ...
"I wouldn't say boo to a goose. I'm not a coward, I just realise that it would be largely pointless."
My website
|
|
|
|
|
hi
you assign Item only once. so each time you say itemsArray[c] = Item; , you assign the same object go another item in your array. but it's just a reference. so if you do anything with the object by calling Item.SetName(...) you modify the object that's referenced by multiple entries in your array.
calling Item = new Items() after ItemsArray[c] = Item; should help you out
greets
m@u
|
|
|
|
|
Maybe Item is a reference type, so you're always setting the same item and your list will always hold the same item in the entire list.
better use
List<Items> itemsArray = new List<Items>(NumberOfRecords)
and then in the loop always create a new item and append it, like that:
int c = 0;
while(c < NumberOfRecords)
{
Items item = new Item();
itemsArray.Add(item);
c++;
}
<pre>
regards
modified 12-Sep-18 21:01pm.
|
|
|
|
|
Thanks for all the replys!
Ill do that, thanks a lot!
|
|
|
|
|
|
Hi,
I'm activating software installations on a network but in a very manual way. First pinging the network for active computers, compare actives computers with an installation list then executing a bat on the computer. I thought it should be easy to automate the process and started reading up on the System.Net.NetworkInformation library but the problem is that I don't know how to extract the computer name from the pingReply object.
It only returns the IP address and since the DNS lookup table isn't up to date I can't use that.
Is there another way to get a computers name from the IP address
Thanks
WvdW
|
|
|
|
|
WvdW wrote: then executing a bat on the computer
[the CodeProject PoliticallyCorrectBot has removed some comments from this post]
hope that helps
|
|
|
|
|
Dns.Resolve method will get you the name
however I said before in another post the method is obsolete and Microsoft recommends to use Dns.GetHostEntry method instead of it but that method didn't give me the name of computers on our network except mine maybe there is a trick on using that!.
good Luck
|
|
|
|