|
I have a article about How to change a back color of one cell based on its value.
http://www.codeproject.com/csharp/custom_datagridcolumnstyl.asp[^]
There are sone other articles in this site which I think about changing the color of entire row, use the serach engine at top of this page.
Mazy
"Art is life, life is life, but to lead life artistically is the art of life." - Peter Altenberg
|
|
|
|
|
Thnxs for your answer, I got it to change every 3rd row. But now there is a different problem, the instant i scroll down on the datagrid the colors get messed up or changes to one color. Do you know what this problem could be?
|
|
|
|
|
Don't worry, i got the problem, it was pretty stupid. Thnxs for the help.
|
|
|
|
|
I have a datatable i will add some records to it..
I want this datatable to update directly to database. Using DataSets and DataAdapter
Please let me know abt this new
Praveen C
|
|
|
|
|
SqlDataAdapter.Update() method.
Mazy
"Art is life, life is life, but to lead life artistically is the art of life." - Peter Altenberg
|
|
|
|
|
You need to use a DataAdapter (for this, I'll assume a SqlDataAdapter and related classes) with SelectCommand , InsertCommand , UpdateCommand , and DeleteCommand properties assigned. If you use a simple SELECT query (i.e., no JOINs or nested SELECTs) you can use a SqlCommandBuilder to generate the other 3 SqlCommand properties from the SqlCommand for the SqlDataAdapter.SelectCommand property. These commands must also be parameterized.
You can also use the VS.NET designers to create the SqlDataAdapter and all the SqlCommand s for you. You can drag a DataSet (which can be strongly-typed) or SqlDataAdapter from the "Data" tab of your toolbox when a component is open in the designer. Play around with this, though I recommend you examine the code that is generated in the source file to understand what it going on.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
hi
i want to know how can i get and set the graphics card settings using c# and possibly GDI+ or d3d.
also can anyone tell me how can i run a win form app in full screen mode
sid
|
|
|
|
|
Anonymous wrote:
i want to know how can i get and set the graphics card settings using c#
Maybe this article helps:
http://codeproject.com/csharp/wmi.asp[^]
Mazy
"Art is life, life is life, but to lead life artistically is the art of life." - Peter Altenberg
|
|
|
|
|
Hi All,
is it possible to implement a drag & drop interface in C#. And if so can anyone point me to a tutorial or give me some tips. I need to be able to drap an item from a list box and drop it on a button which will envoke the click action of the button on the item dragged from the list box. Any takers? ,
Regards,
John
|
|
|
|
|
Take a look at "AllowDrop", "DragDrop", "DragEnter", "DragLeave", and "DragOver". They are part of System.Windows.Forms.Control, and so are inherited by all the visible controls on a form.
John
"You said a whole sentence with no words in it, and I understood you!" -- my wife as she cries about slowly becoming a geek.
|
|
|
|
|
See the Control.DoDragDrop method for information and an example.
Basically, you pack information into an IDataObject impementation (like the DataObject class provided in the base class library) and identity it with a simple string known as a clipboard format (this is covered in more details in the Platform SDK, though THAT IDataObject is different, but the concepts are the same). Handle the DragOver and DragDrop events on your button such that you check for the existence of this clipboard format:
private void button_DragOver(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent("MyCustomFormat") &&
(e.AllowedEffect & DragDropEffects.Link) != 0)
e.Effect = DragDropEffects.Link;
}
private void button_DragDrop(object sender, DragEventArgs e)
{
if ((e.AllowedEffect & DragDropEffects.Link) != 0)
{
object o = e.Data.GetData("MyCustomFormat");
if (o != null)
{
this.currentListItem = o;
this.button_Click(sender, EventArgs.Empty);
}
}
}
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Thats great. Thanks for the help. I will be giving it a go over the next few days so hopefully wont have any problems,
Regards,
John
|
|
|
|
|
Hey
I am building a Server/Client program that sends object between them.
I have made a Client class that hold al the information the server need to have about the client. This clas Client includes socket.
Maby its stupid to have the socket to the client in this class but right now i am only testing things to se what i can send and how.
Anyway, I need to Serializ this class(client), but it says that socket cant be Serialized, is there any way to get around this?
//SnowJi,
|
|
|
|
|
First of all, you shouldn't serialize the Socket itself, but perhaps information about the socket. To be serializable, a class (the class you instantiate, not any base classes) must be attributed with SerializableAttribute . If you want to control serialization, implement the ISerializable interface. See the documentation for the ISerializable interface in the .NET Framework SDK for more information, such as implementing the special constructor used for deserializing information. By implementing this interface, you could just serializing certain properties about the socket. See Serializing Objects[^] in MSDN for more information.
Second, you should take a look at .NET Remoting. It is the de facto way in .NET to talk to different AppDomain s (contexts in which applications run, which obviously your client and server are in different contexts). It takes care serialization (so long as you follow the same serialization rules I mentioned above) and transportation across TCP, HTTP, or any custom transport channel using SOAP, binary, or any custom serialization formatter you want. See .NET Remoting Overview[^] for more information about remoting.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
I need to download HTML pages from a website. These pages require username/password access which I DO have. The problem is, the website sets a persistent cookie in my Cookies folder and it's encrypted, so I can't read it's content.
How can I automate the download of these pages but not through internet explorer? In other words, how can I make WebClient/HttpWebRequest read the persistent cookie in my local folder?
If I can't do that, then how do I do it?!
Thanks.
Sammy
"A good friend, is like a good book: the inside is better than the cover..."
|
|
|
|
|
First of all, the cookie should NOT have the password contained within it. This is very insecure. The web site should authenticate the credentials in whatever way is fit (say, BASIC authentication of HTTPS) and return a ticket that signifies that the credentials have been authenticated. This is the underlying concept of authentication.
Second, if you have the username and password, you could make the call to the web server to get the ticket and that should return you the cookie. In order to accept the cookie, though, your HttpWebRequest.CookieContainer must be initialized:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.codeproject.com");
request.CookieContainer = new CookieContainer();
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); This example if very basic, but you can find more information in the documentation for HttpWebRequest.CookieContainer .
Additionally, you can also pass the username and password to the initial request to avoid making several requests. You'll still need the initialized CookieContainer to store the response cookies (and use that over for every request and response), but you can put the username, password, and domain in a NetworkCredential and assign that to the HttpWebRequest.Credentials property before getting the response (which commits the request). See the documentation for the HttpWebRequest.Credentials property in the .NET Framework SDK for more information.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
I'm going nuts
Nothing is working. The URL I'm trying to get is the following:
http://search-completed.ebay.com/search/search.dll?GetResult&sosortorder=2&sacategory=29278
It retrieves certain completed auctions from eBay.
This URL however, results in a page that says: you have to sign in. I get the source of this page, I see that it gets a posting (username/password) from you, and redirects you to the original page you were requesting. I post this data, it gives me a Redirect Error, although I have HttpWebRequest.AllowAutoRedirect set to true. I also tried KeepAlive = true/false. No luck.
So, I try posting my username/password to http://signin.ebay.com/aw-cgi/eBayISAPI.dll which is the sign in page, and getting the cookies returned. It gives me a Cookie Error page, where it says my browser cannot accept cookies, although I did set CookieContainer of my HttpWebRequest.
What can I do?!!! If anyone wants to try:
username = booksbysammy
password = stupiddog
Thank you very much.
Sammy
"A good friend, is like a good book: the inside is better than the cover..."
|
|
|
|
|
Okay, there's a few things I have to mention. When using form-based authentication, the HttpWebRequest.Credentials won't suffice. You either have to POST or GET data to the form action as you've discovered. I just wanted to mention this to be clear.
The problem looks like it doesn't recognize your user agent (the browser name and info). Fortunately, you can trick into thinking another browser is making a request (i.e., one that supports cookies) by the HttpWebRequest.UserAgent to something like "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" and it will think Internet Explorer 6.0 on Windows XP is making the request. This error might be making such assumptions because it's quicker than setting a cookie and checking for it in the next request (which requires making a request and getting a response twice). It's worth a try.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Heath Stewart wrote:
When using form-based authentication, the HttpWebRequest.Credentials won't suffice.
I'm sorry, I don't get you there. I don't use HttpWebRequest.Credentials at all in my code. Am I doing something wrong?
Heath Stewart wrote:
Fortunately, you can trick into thinking another browser is making a request (i.e., one that supports cookies) by the HttpWebRequest.UserAgent to something like "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"...
I already did this, no luck
Sammy
"A good friend, is like a good book: the inside is better than the cover..."
|
|
|
|
|
I was saying that when you use form-based authentication (like putting your credentials in a form online) the Credentials property won't work to pass your username and password. That only works for authentication protocols like BASIC or NTLM (and this is extensible, too).
Did you set the UserAgent before making the request to the ISAPI extension DLL on eBay to authenticate your credentials? Also, you should'be set an instance of the CookieContainer on the HttpWebRequest.CookieContainer property, too, but I believe you said you already did this.
Are you saving the request the web server returns? What exactly is the error message?
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://signin.ebay.com/aw-cgi/eBayISAPI.dll");<br />
req.AllowAutoRedirect = true;<br />
req.CookieContainer = new CookieContainer();<br />
req.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";<br />
req.ContentType = "application/x-www-form-urlencoded";<br />
req.Method = "POST";<br />
byte[] PostData = System.Text.Encoding.ASCII.GetBytes("MfcISAPICommand=SignInWelcome&siteid=0&co_partnerId=2&UsingSSL=0&ru=&pp=&pa1=&pa2=&pa3=&i1=-1&pageType=559&userid=booksbysammy&pass=stupiddog&keepMeSignInOption=1");<br />
req.ContentLength = PostData.Length;<br />
Stream tempStream = req.GetRequestStream();<br />
tempStream.Write(PostData, 0, PostData.Length);<br />
tempStream.Close();<br />
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();<br />
Stream strm = resp.GetResponseStream();<br />
StreamReader sr = new StreamReader(strm);<br />
textBox1.Text = sr.ReadToEnd();<br />
strm.Close();<br />
sr.Close();
(By the way, are the last two lines valid, or should I also add strm = null; and sr = null; ?
Heath Stewart wrote:
What exactly is the error message?
Well, it's not really an error message. The point is, after executing the following code, textBox1.Text contains the HTML source of an eBay page the says that my browser has rejected cookies, and there's a "Cookie Error" according to eBay. When I post these settings in Internet Explorer, that's not what I get of course!
By the way, there's one field I'm not adding to post data, which says <input type="submit" value="Sign In >"> . As you can see, the submit button does not have a name assigned to it. I don't suppose that's the problem?!
Sammy
"A good friend, is like a good book: the inside is better than the cover..."
|
|
|
|
|
Actually, "application/x-www-form-urlencoded" uses the UTF-8 encoding, so use Encoding.UTF8 to get the bytes instead and see if that helps. Since you're only using ASCII characters, though, it might not. It's worth a try, anyway.
No, you don't have to set the object to null. Calling Close closes the stream (closes the native handle). The GC will clean it up once it goes out of scope and either the application is idle or garbage collecting is necessary.
Including that submit value shouldn't be necessary.
I'm really not sure what else to tell you. It should be working according to the documentation and from experience.
The only other thing I can think of is that there might be another cookie (like a session ID) that eBay is expecting. Log out of eBay using Internet Explorer and look at the Cookies directory for a file named username@ebay.com.txt or something like that. Open it in notepad and see what values it has (if any).
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Heath Stewart wrote:
I'm really not sure what else to tell you. It should be working according to the documentation and from experience.
I really appreciate you taking all this time to reply. And, as I said before, you are my hero Well, your wife should really say that, so it should be inappropriate to come out of me
Heath Stewart wrote:
The only other thing I can think of is that there might be another cookie (like a session ID) that eBay is expecting. Log out of eBay using Internet Explorer and look at the Cookies directory for a file named username@ebay.com.txt or something like that. Open it in notepad and see what values it has (if any).
Okay, I thought about that. Before logging in, here's sammy@ebay[1].txt from my c:\document and settings\...\cookies folder.
lucky9
518210
ebay.com/
1600
2767397504
29984326
4106446384
29616796
*
nonsession
AQAAAAQAAACkAAAANwAAAIjBH0AI9QBCMUA1Njc0MDM3OTA7ICQyJE1vemlsbGEvJFRiLnNZVTJuM
jloVE4zT0M1VnhCZjFAAAAAOAAAAIjBH0AI9QBCMWJvb2tzYnlzYW1teSAkMiRNb3ppbGxhLyRvTl
kwQzlkNFdtcFpjLlI2Q2F4WG8vnQAAABEAAACIwR9ACPUAQjAwMDAwMDAwMKoAAAAKAAAAiMEfQAj
1AEIwMA**k
ebay.com/
1536
1819020288
29690222
4098476384
29616796
*
ns1
AQAAAAEAAAClAAAAOAAAAIjBH0AI9QBCMTEwODMyMDg4My8wOyAkMiRNb3ppbGxhLyRoVGtncEoyc
E5DMHlVVlRyR3ZSR1Muf
ebay.com/
1536
1819020288
29690222
4098476384
29616796
*
reg
%5EflagReg%3D1%5E
ebay.com/
1600
2767397504
29984326
4106286384
29616796
*
CFID
47490547
ebay.com/
1536
3546759168
32088942
1680224000
29616625
*
CFMAGIC
47490547%3A62005554
ebay.com/
1536
3546759168
32088942
1680384000
29616625
*
CFTOKEN
62005554
ebay.com/
1536
3546759168
32088942
1680694000
29616625
*
After logging in, it was deleted, and replaced with sammy@ebay[2].txt which reads:
lucky9
518210
ebay.com/
1600
3287397504
29984326
329909088
29616797
*
nonsession
AQAAAAYAAABAAAAAOAAAAIjBH0AI9QBCMWJvb2tzYnlzYW1teSAkMiRNb3ppbGxhLyRvTlkwQzlkN
FdtcFpjLlI2Q2F4WG8vpAAAADwAAAApEyBAqUYBQjFANTY3NDAzNzkwOyAkMiRNb3ppbGxhLyRUYi
5zWVUybjI5aFROM09DNVZ4QmYxAM3Nzc2qAAAACgAAACwTIECsRgFCMDCdAAAAEQAAACwTIECsRgF
CMDAwMDAwMDAwEAAAAD0AAAAsEyBArEYBQjFib29rc2J5c2FtbXkgJDIkTW96aWxsYS8kb05ZMEM5
ZDRXbXBaYy5SNkNheFhvLwDNzc3NnAAAAGkAAAAsEyBArEYBQjFuWStzSFoyUHJCbWRqNndWblkrc
0VaMlByQTJkajZ3RmtJcWlDcENLcVErZGo2eDluWStzZVE9PSAkMiRNb3ppbGxhLyRaMHBkWUhxSV
FTNUFzLnFmNFJlSzYuAM3Nzc0*l
ebay.com/
1536
2339020288
29690222
323039088
29616797
*
ns1
AQAAAAEAAAClAAAAPQAAACkTIECpRgFCMTEwODMyMDg4My8wOyAkMiRNb3ppbGxhLyRoVGtncEoycE5DMHlVVlRyR3ZSR1MuAM3Nzc0*j
ebay.com/
1536
2339020288
29690222
323189088
29616797
*
reg
%5EflagReg%3D1%5E
ebay.com/
1600
3287397504
29984326
329599088
29616797
*
CFID
47490547
ebay.com/
1536
3546759168
32088942
1680224000
29616625
*
CFMAGIC
47490547%3A62005554
ebay.com/
1536
3546759168
32088942
1680384000
29616625
*
CFTOKEN
62005554
ebay.com/
1536
3546759168
32088942
1680694000
29616625
*
Since I'm stupid, I hope this means anything to you!!!
Sammy
"A good friend, is like a good book: the inside is better than the cover..."
|
|
|
|
|
Okay, I didn't want to make the page look ugly, so I modified those lines of gibberish (inserted line breaks). So they're actually on one line originally.
A question out of topic please: Do you use IE to read these threads and reply to them? It seems to me that you should have some sort of client app that reads new threads off Code Project and lets you post directly?
Thanks again.
Sammy
"A good friend, is like a good book: the inside is better than the cover..."
|
|
|
|
|
I figured they were wrapped.
I do use IE, yes. A better way than a separate program is to use an NNTP gateway (newsgroups) since these threads follow the same behavior already. Then you could use any NNTP client. Such a task isn't the easiest thing to do, though.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|