|
There's a few different ways to do this. First make sure you have the event hooked up to the DataGrid's Click or DoubleClick event, whichever you prefer.
this.dataGrid1.DoubleClick += new System.EventHandler(this.dataGrid1_DoubleClick);
Next set up your handler method (visual studio inserts this stub in for you very easily)
<br />
private void dataGrid1_DoubleClick(object sender, EventArgs e)<br />
{<br />
}<br />
Now let's say that in your parent datagrid, the first Column in the datagrid is an integer Invoice number. You want to retrieve that information for that invoice number to open up the second Data Entry screen.
<br />
private void dataGrid1_DoubleClick(object sender, EventArgs e)<br />
{<br />
int invNumb = Convert.ToInt32(dataGrid1[dataGrid1.CurrentRowIndex, 0]);<br />
DataSet myInvoiceInformation = GoGetMeTheInvoice(invNumb);<br />
<br />
MyNewInvoiceForm invFrm = new MyNewInvoiceForm();<br />
invFrm.InvoiceInfoToShow = myInvoiceInformation;<br />
<br />
invFrm.ShowDialog();<br />
}<br />
In this very very simple example, we create a dataset with the information, assuming you have some method that retrieves the information. Your Data Entry form has a Public Property of type DataSet that allows you to set the dataset with the invoice information. You could also write another constructor to your Data Entry form so you don't have to write 2 lines of code.
Also, you can set up the DataGrid with a TableStyle if you want, so that your identifying information is always in the first column of the datagrid, but it's hidden. In my case I just set the width of the first column to 1px.
Hope this simple example helps.
|
|
|
|
|
Hi, I have this class in which I start a worker thread in the constructor. The thread is a loop and I want it to stop when I close the application in which I created it.
I've tried to put an Abort command in the class' destructor but that didn't seem to work... does anyone know the right way to do it?
Thanks!
|
|
|
|
|
If you don't care about the the thread shutting down at critical points, just set the IsBackground property to true . That'll kill the thread automatically when the application shuts down.
If that doesn't work or you can't stop the thread at arbitrary points, you need to have some sort of signaling mechanism, like posting a message to the thread and the thread, when it gets to processing the message, breaks out of the loop.
Regards
Senthil
_____________________________
My Blog | My Articles | WinMacro
|
|
|
|
|
Hi;
This is what I'm trying to do:
I want to populate a listview on another from and then after quitting this form I could see the changes Ive made.
so I wrote a method to do that for me:
<br />
public void populateListView(ref ListView lview, string dbFilePath, string tableName)<br />
{<br />
Connection myConnection = new Connection();<br />
myConnection.ConnectionString = dbFilePath;<br />
myConnection.Open();<br />
<br />
Recordset rs1 =myConnection.Execute("select * from " + tableName);<br />
<br />
rs1.MoveFirst();<br />
for (int i=0; i<rs1.Count; i++)<br />
{<br />
ListViewItem lv=new ListViewItem();<br />
ListViewItem.ListViewSubItem lvs = new ListViewItem.ListViewSubItem();<br />
<br />
for (int j=0;j<rs1.Fields.Count;j++)<br />
{<br />
if (j==0)<br />
{<br />
lv.Text=rs1.Fields[0].ToString();<br />
lv = lview.Items.Add(lv);<br />
}<br />
else<br />
{<br />
lv.SubItems.Add(rs1.Fields[j].ToString());<br />
}<br />
}<br />
<br />
rs1.MoveNext();<br />
}<br />
<br />
rs1.Close();<br />
<br />
myConnection.Close();<br />
<br />
foreach( System.Windows.Forms.ColumnHeader c in lview.Columns)<br />
{<br />
c.Width = -2; <br />
}<br />
}<br />
as you see im populating a listview from a database.
I get an error saying marshal_reference . . .
do you guys have any idea?
P.S I did search the codeproject but the solutions were a little complex.
Thanks
|
|
|
|
|
hi
Can anybody tell me Equivalenet Space() function in C#.net
THis is very urgent.
Functinality of this function is to allocate space autmatically
Is there any equvalent function
as we declare in Space function
|
|
|
|
|
Where do you need to allocate space? What does the Space function do? Return a string with the number of spaces equal to the parameter passed to the Space function?
That should be very easy to do
string Space(int count)
{
return new string(' ', count);
}
Hope this helps?
Regards
Senthil
_____________________________
My Blog | My Articles | WinMacro
|
|
|
|
|
The equivalent of:
x = Space(3)
is:
x = string.Empty.PadLeft(3);
(example produced with our Instant C# VB to C# converter)
David Anton
Tangible Software Solutions
www.tangiblesoftwaresolutions.com
Home of the Instant C# VB.NET to C# Converter and the Instant VB C# to VB.NET Converter
|
|
|
|
|
Hi ... i have a listbox with lots of names and i need to sort it out in alphabetical order. from A to Z and from Z to A. I heared about bubble sort algorithm but i could understand it very well.
i apreaciate any help
Thanks
|
|
|
|
|
|
Sure take a look at sort algortihms... to make boss/ teacher /whoever happy right now, use ListBox.Sorted property. It does exacly what you need IMHO.
hmm but where is option to reverse sort order?? If you won't find any, use Array.Reverse on sorted items.
David
|
|
|
|
|
I am having a hard time finding anything through searches for this. I am looking for information to help me with this project at work. I need to create a webform that is used to enter a persons information, then the user clicks a button. When they click the button it should pass the information and populate a word document that can be viewed and printed.
Thank You
Scott Moore
|
|
|
|
|
Word Interop is pretty much your only choice here, (I believe and would be happy to be proven wrong I must say), but it's horrible and heavyweight at the server as it essentially involves running MS Word in memory on the Web Server.
A Google[^] search should give you some direction...
Rhys
A bus station is where a bus stops. A train station is where a train stops. On my desk I have a workstation...
Vampireware /n/, a project, capable of sucking the lifeblood out of anyone unfortunate enough to be assigned to it, which never actually sees the light of day, but nonetheless refuses to die.
|
|
|
|
|
I have the same problem! I can find all kinds of information about creating a Windows App to do this, but when I build a Web Based App - I always get the error: Could not open macro storage. This is driving me crazy because I can't find info about what permission need to be set to get around this.
I have been able to build a Word Doc using the File Object and FileStream Class, but then I lose a a lot of functionality which comes with the Application Object. For example I can't create a pagebreak where I need to.
Let me know if you figure this out!
Thanks
Lynnette
|
|
|
|
|
I have the following compiler warning:
CS1595: 'type' is defined in multiple places; using definition from 'assembly'
There is a good reason for the warning - I have the type defined in multiple places!
What should I do about it?
Oh - The reason for having it in multiple places is that I have a windows forms control which shares a type (enum in this case) with another control located in a seperate assembly. The type is used for one of the properties in both controls. Everything works fine except that the Visual Studio 2003 designer forgets the value of the property when loading the control back into the designer unless the type is defined in the controls local assembly - hence I have a duplicate definition since I need it in both controls local assemblys!
|
|
|
|
|
|
Thanks, but that is exactly what I had until I found that the Visual Studio 2003 designer was failing to restore the state of my enum properties.
There appears to be a bug in the Visual Studio 2003 designer?
|
|
|
|
|
I've been given a C# app that was writen with the 1.0 framework on NT and I'm building it with the 1.1 framework on XP.
I have noticed a difference in the behaviour of the ComboBox.DataSource property. In the original version the ComboBox was populated by setting the DataSource property equal to an ArrayList, however in my 1.1 framework version on XP the ComboBox.DataSource property equals null after the assignement.
I have had to get round it by looping through the ArrayList and using the ComboBox.Items.Add() method to add the comboboxes items individually.
Does annyone have any idea what could be the cause of this?
Thanks
|
|
|
|
|
i need to prevent the deactivate of the title bar of a tool child window.
i would show active title bar for the main form and of this child window having just the last one selected as the real active window...
Using this code i prevent for the main to draw unactivate title bar for itself also i select the child form.
I use the same code also for the child.
The problem is that it doesn't work, it leave the main and the child active in the same time but if i try to came back to the main i can't use it but just move.
protected override void WndProc(ref Message m)
{
if(m.Msg == WM_DEACTIVATE) return;
base.WndProc(ref m);
}
what do i wrong?
|
|
|
|
|
What your doing won't work under Windows. You cannot have two active windows at the same time. Since your preventing one window from losing the focus, you can't give the focus to another window.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
ok but there are mush software that fake the windows message show in the same time two or more windows like activated.
For example Photoshop and its tool property etc.. windows, then Fireworks, Dreaweaver, Premiere and so on...
How just they do?
They prevent the windows title bar to is redrawed to unactived...
Please someone know how to do?
Thanks.
|
|
|
|
|
They draw their own toolbox windows themselves! The window doesn't really have the focus, but you can give the user the illusion that it does. But, the only way to do it is if you draw the entire window yourself. Windows won't manage it for you the way you want.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I have created a super complex object and implemented all IXmlSerializable methods. And my webserice have to return this object from a method. Everything is almost fine. But i got a empty object returned from the method. I have debugged it also and I found that my webservice already have the object to return, but seem that my client didn't get the object back from the method ? How's come ??!!!!
I have invoke the webservice alone, and it return a complete XML's object. But well .... don't know why my client's object got nothing !!!!
Now I have to deserialize and serialize by myself from both server and client by passing a XML string, not the object class. But it looks so stupid if this is only way to do so !!!
Please help.
PS. In fact i have 2 - 3 simple classes that also passed between webservice and client and they are all fine .. but not the super complex object ??? becaseu it is too big ??
|
|
|
|
|
I am not a guru at all, but we do here do some semi-complex custom class passing around with Web Services.
My only though is, if your Class contains in turn classes, did you add the XMLInclude attribute?
Here is an example, hope it's not too long winded
<br />
[Serializable]<br />
[XmlInclude(typeof(Discount)), XmlInclude(typeof(Expression)), XmlInclude(typeof(ExpressionClause))]<br />
public class OrderDiscounts<br />
{<br />
[XmlElement("OrderLevelDiscounts",typeof(Discount))]<br />
public Discount[] OrderLevelDiscounts;<br />
<br />
[XmlElement("ItemDiscounts",typeof(Discount))]<br />
public Discount[] ItemDiscounts;<br />
<br />
}<br />
<br />
<br />
[Serializable]<br />
[XmlInclude(typeof(Expression)), XmlInclude(typeof(ExpressionClause))]<br />
public class Discount<br />
{<br />
[XmlElement("ConditionExpression",typeof(Expression))]<br />
public Expression ConditionExpression;<br />
<br />
}<br />
<br />
[Serializable]<br />
[XmlInclude(typeof(ExpressionClause))]<br />
public class Expression<br />
{<br />
[XmlElement("ExpressionClauses",typeof(ExpressionClause))]<br />
public ExpressionClause[] ExpressionClauses;<br />
<br />
}<br />
<br />
[Serializable]<br />
public class ExpressionClause<br />
{<br />
public string PropertyName;<br />
public string Operator;<br />
public string Value;<br />
}
|
|
|
|
|
Well the problem is i hv a listview in which files of all types (media, doc, txt etc.) are listed , i want to open each of them in their corresponding application by double clickin on them.i want to use some API in the click event of the listview that wud search for the executable of that file by looking at its extension.
how do i do that?
|
|
|
|
|
try
Process.Start("yourfilename.extension");
|
|
|
|