|
Hi All,
I am new with .NET. I have a problem with datagrid and javascript interaction. What I am trying to do, is I display all item in a datagrid. When user selects an item with double-click, it should take that item number and displays detail of item. I defined ondblclick event on the grid and executes an javascript function. But I can not get the selected item number. It is required to pass as a parameter to detail page. I can do it with Response.Redirect(URL + itemnumber). But is there any way of doing that with javascript? How can I get a item number from selected datagrid row in javascript function?
Any help appreciated..
Thanks..
Murat Avsar
|
|
|
|
|
Hi, all:
After I made the update to the database with ONLY the RowState = Deleted rows, I 'd like to AcceptChanges to those deleted row in my datatable. I used the following code to do that. Obviously, this code HAS problem, it changes the Collection while iterating through the collection. Does anyone know a way to AcceptChanges ONLY for rows with Deleted RowState?
**************
foreach( DataRow dr in dsMain1.Tables["LMCables"].Rows )
{
if ( dr.RowState.ToString() == "Deleted" )
{
dr.AcceptChanges();
}
}
****************
|
|
|
|
|
How about:
DataRows[] rows = dsMain1.Tables["LMCables"].Select string.Empty,string.Empty,DataViewRowState.Deleted);<br />
foreach(DataRow row in rows)<br />
row.AcceptChanges();
Rocky Moore <><
|
|
|
|
|
Here is what I have done in the past i think...
dsMain1.Tables["LMCables"].GetChanges( DataRowState.Deleted ).AcceptChangs();
or
foreach( DataRow row in dsMain1.Tables["LMCables"].GetChanges( DataRowState.Deleted ).Rows )
{
row.AcceptChanges();
}
I think those should work as well... I have no idea if that will cause your change collection problem, but the first way should not atleast. This is just off the top of my head.
|
|
|
|
|
Thanks for the reply. I tried both methods and neither worked. I was hope the first one works, however, it seems the DtatRowState did not change after the calling the AcceptChanges. I guess the reason is GetChanges returns a new DataTable, the accpet changes did not happen in dsMain1.Tables["LMCables"]. As far as option 2 concern, it is essentially the same as my problematic approach. When AcceptChanges for the row, the ADO.NET deletes that row, then it crashes since the collection changed while iterating through. Any moe suggestions? Thanks again.
|
|
|
|
|
OK, this has to work, your iterating through each of the rows in your table, and you are not changing a collection... the foreach statements relies on a collection, but not an integer indexer, so...
you should be able to copy and paste this
<br />
for( int i = 0; i < dsMain1.Tables["LMCables"].Rows.Count; ++i )<br />
{<br />
if( dsMain1.Tables["LMCables"].Rows[ i ].RowState == System.Data.RowState.Deleted )<br />
{<br />
dsMain1.Tables["LMCables"].Rows[ i ].AcceptChanges();<br />
}<br />
}<br />
haha, after i typed that out i pressed ctrl+shift+b to build it.
|
|
|
|
|
I've got a listview control on a windows form. The listview is loaded with data. Is there a way to get the string data from each subitem when the user clicks on a row in the listview?
For example: row 3 in the listview has Smith, John, and 22-3333-53 in it. I'd like to get the strings Smith, John, and 22-3333-53 returned from the listview.
Is this possible? I haven't seen a thing on the code project about it.
Thanks
|
|
|
|
|
Yep!!! Each ListViewItem in the ListViewItemsCollection (myListView.Items ) has a SubItems collection too...
You just do
<br />
string Surname = listView.Items[2].Text;<br />
string Forename = listView1.Items[2].SubItems[0].Text<br />
string Phone = listView1.Items[2].SubItems[1].Text<br />
HTH
Cheers
Shaun
|
|
|
|
|
Thanks a lot for your help!
|
|
|
|
|
No probs...
Any time!!!
|
|
|
|
|
Does any one know how to programatically move a colorDialog using c#? I hoped that it would have a Location property, but it does not.
<br />
ColorDialog dlg = new ColorDialog();<br />
dlg.AnyColor = true;<br />
dlg.ShowDialog();<br />
Thanks for any help,
Jerry
|
|
|
|
|
I believe you will have to look into the HookProc. The MSDN docs in CommonDialog.HookProc says the center the window on the WM_INITDIALOG.
Rocky Moore <><
|
|
|
|
|
Do you know of any good examples of how to use hookproc? I got that far, but I did not want to waist an hour figuring it out.
Thanks,
Jerry
|
|
|
|
|
This should do you:
public class myColorDlg : ColorDialog
{
[DllImport("User32", SetLastError=true)]
public static extern bool SetWindowPos(IntPtr hWnd,IntPtr hWndInsertAfter,int X,int Y,int cx,int cy,int uFlags);
protected override System.IntPtr HookProc(System.IntPtr hWnd, int msg, System.IntPtr wparam, System.IntPtr lparam)
{
System.IntPtr returnValue = base.HookProc(hWnd,msg,wparam,lparam);
if(msg == 0x0110)
{
SetWindowPos(hWnd,(IntPtr)0,50,50,0,0,
0x0001 |
0x0004 |
0x0010);
}
return returnValue;
}
}
Rocky Moore <><
|
|
|
|
|
Thanks for your help! It worked great. One more question (I am new to .NET ) Where are the windows messages defined?
I found
const int WM_SETFOCUS = 0x0007;<br />
const int WM_INITDIALOG = 0x0110;<br />
const int WM_LBUTTONDOWN = 0x0201;<br />
const int WM_RBUTTONDOWN = 0x0204;<br />
const int WM_MOVE = 0x0003;
on MSDN, but is there a complete list somewhere?
Thanks again,
Jerry
|
|
|
|
|
Hey all,
I'm trying to create a new EnhancedImage class derived from a System.Drawing Image class, but I keep getting the error "System.Drawing.Image.Image()' is inaccessible due to its protection level". Is it possible that you just can't derive from this class? I posted my code for the class below. It's pretty simple so far, just a constructor. Any thoughts would be appreciated. Thanks.
using System;
using System.Drawing;
namespace WindowsApplication1
{
public class EnhancedImage : Image
{
public EnhancedImage(string imageFilename)
{
FromFile(imageFilename);
}
}
}
-Mike Zinni
"No sh*t it's tough. If it wasn't, everybody and their sister would be an engineer and then you wouldn't have a job."
|
|
|
|
|
I have no idea if this would work, but possibly the Image abstract class has its default constructor as private and that is what you are calling, so it may require that you use one of its defined constructors, and I noticed the Bitmap class does not use a default contructor either. I think this would work... if it doesn't, then i have no idea.
notice this line:
public EnhancedImage(string imageFilename) : base( imageFileName )
<br />
using System;<br />
using System.Drawing;<br />
<br />
namespace WindowsApplication1<br />
{<br />
public class EnhancedImage : Image<br />
{<br />
public EnhancedImage(string imageFilename) : base( imageFileName )<br />
{<br />
FromFile(imageFilename);<br />
}<br />
}<br />
}<br />
|
|
|
|
|
I have an unusual situation, which I am unsure of how to tackle. I have an old c api that I need to access in a c#.net web application. My initial thoughts are to build a c dll with functions that I can call from c# using ATL or COM. But that is a big (and intimidating) leap on how to accomplish it. Does anyone have suggestions on a better architecture or how I can get there? Simple examples would be a big plus. Thanks.
Courtney
|
|
|
|
|
Its either what you suggested or build a wrapper around your C code using MC++. I dont think there are other options.
|
|
|
|
|
You have three choices from what I can tell:
1. Wrap it in com and do the calling from C#
2. Wrap it with Managed C++
3. Use DllImport to do it directly in C#
Choice #3 would be my first choice. Check out the System.Runtime.Interopservices namespaces. How complicated of a C api? Are you passing structs and unions and tons of pointers? Or just ints and doubles?
-Nathan
---------------------------
Hmmm... what's a signature?
|
|
|
|
|
Option 3 sounds the simplest, I was unsure if that was possible.
My c api is not very complicated, just not very portable. The api relies on a properly setup application environment to function correctly. Mostly environment variables and an oracle client.
Here is a dll I created to perform a simple query. I can easily call this from another c/cpp console app and everything works fine. Jut not sure how to get it into a c#.net app.
Code Example:
#include <prointlnk.h>
#include <string.h>
#include <stdlib.h>
__declspec(dllexport) char* query(char*);
char* query(char* instring)
{
static char outstring[256];
char buff[20];
HPDMPDM pdm;
PTCERROR err = PDM_SUCCESS;
HPDMPI pi_handle = NULL_HPDMPI;
HPDMBRANCH branch_handle = NULL_HPDMBRANCH;
HPDMPIV piv_handle = NULL_HPDMPIV;
PTCSTRING piv_rev = NULL, part_name = NULL;
PTCINTEGER piv_ver = 0;
err = PDMConnectToPDM("username", "password", &pdm);
err = PDMPIGetByName( instring, &pi_handle );
if ( PDM_HANDLE_IS_NULL( pi_handle ))
{
strcpy( outstring, "Object Not Found" );
return outstring;
}
// Get the main branch handle.
err = PDMPIGetMainBranch( pi_handle, &branch_handle );
// Get the latest PIV handle.
err = PDMBranchGetLatestPIV( branch_handle, &piv_handle );
// Get the revision and version.
err = PDMPIVGetRevision( piv_handle, &piv_rev );
err = PDMPIVGetVersion( piv_handle, &piv_ver );
// Construct the output string. Longterm goal is XML string
strcpy( outstring, "name = '" );
strcat( outstring, instring );
strcat( outstring, "';" );
strcat( outstring, "rev = '" );
strcat( outstring, piv_rev );
strcat( outstring, "';" );
_itoa (piv_ver,buff,20);
strcat( outstring, "ver = '" );
strcat( outstring, buff );
strcat( outstring, "'" );
return outstring;
}
|
|
|
|
|
I believe you would just declare the function as:
[System.Runtime.Interopservices.DllImport("MyDll.dll")]<br />
private extern static string query(string instring);
That is a simple example. You might need to look at the strings a little bit more (ie use a StringBuilder or something instead). I am not a guru of interop. But this should get you started.
-Nathan
---------------------------
Hmmm... what's a signature?
|
|
|
|
|
My company wants to extend the XML comments feature of C# with some extra tags.
I was wondering if anyone knows how to add extra tags to intellisense, so that they appear alongside the likes of , <example> etc.. within the comment are above a member / class.
Thanks in advance
Donald
|
|
|
|
|
Hi !
I have an owner draw panel in my forms application. It works well but it's not perfect with standard control (like labels, or checkbox) with transparency background activated. Transparency works fine but controls is a bit slower to be displayed. Is there a way to double bufferize controls drawing inside the panel ? (am i clear ? )
Anyone has any suggestion ?
Thanks for help.
--
F.Julian
|
|
|
|
|
Is there anyway to find out all the available drives to the PC on which a program is running? If so how?
|
|
|
|