|
i changed AutoCompleteMode ==>suggest
Autocmpletesource ==>Customersourc
In foreach (DataRow row in (SelectAccounts().Rows)
{
textBox1.AutoCompleteCustomSource.Add( row["Account_Name"].ToString());
}
it worked successfuly and displayed names in table Account
now i want to get id for accountname that user enter
SelectAccounts() return table accounts{id,Account_Name}
|
|
|
|
|
OK, so loop through the rows again until you find the one where the account name matches what they entered in the TextBox and then grab the ID from that row. If you want to get fancy about how you do it then you could probably do it using Linq but looping and searching will work just fine.
|
|
|
|
|
See this[^] article.
/ravi
|
|
|
|
|
If anyone is familiar with Delphi and it's TADOQuery component, I would like to do something similar to the TADOQuery.Locate method.
If your not familiar with Delphi's TADOQuery.Locate, I want to be able to programatically select a newly added row. So the user can have a visual reference that a post was successful.
I read online sometime a ago that the TableAdapter.Select() method was the way to go but I can't seem to get it to work. Anyone?
I found this answer here
http://www.akadia.com/services/dotnet_find_methods.html
but it requires your tables to have primary keys and just my luck none of my tables have primary keys. By the way I didn't create these tables. How do I do the find without primary keys? I don't want to have to add them to all my Tables.
modified on Friday, April 16, 2010 4:53 PM
|
|
|
|
|
I am making a couple of assumptions here that may or may not be accurate. 1. Your datastore is a SQL database 2. You have no identity column (primary key is one type of identity column).
Without an identity column defined, SQL databases methods to return the last inserted record (@@identity or Scope_Identity()) will return NULL. Soooo you need another way to skin that cat.
One way, and there could be many options would be to make a clone of your current datatable before refreshing the data from the database and then compare the records to find the new one.
A way to do that would be something like:
datable1.merge(datatable2);
datatable3 = datatable2.GetChanges();
Then you could find the row or rows from datatable3 in your table and make that or them your current selection.
Hope this is helpful.
|
|
|
|
|
It's an SQL Server database and we do have identity columns but they are no primary key columns. I am able to use @@Identity and Scope_Identity() in the Delphi App and it works fine. I just need to figure out how to do it in C#.
|
|
|
|
|
This may work for you assuming you are dynamically generating your sql and submitting through an ADO query object.
Add a statement such as "Select Scope_Identity() From Table MyTable;" to the end of your dynamic sql. Then instead of submitting as ExecuteNonQuery(), run it as a regular query and the return value should be the row you added.
ymmv
|
|
|
|
|
I'm sorry I'm taking so long to reply to this thread, I'm a little busy. Ok so everything you said works but now how do I select the newly added row. I've tried several ways so far. e.g. this.bindingsource.contains(NewID), this.bindingsource.find(NewID). this.bindingsource.FindRows(NewID). But they never select any row except the very first row.
|
|
|
|
|
After searching long and hard I finally found a way to do it. Makes me wonder why I didn't think of this before.
for ( int i = 0; i < GridContact.Rows.Count; i++ )
{
if ((int)GridContact.Rows[i].Cells[1].Value == ID )
{
GridContact.ClearSelection();
GridContact.Rows[i].Selected = true;
}
}
|
|
|
|
|
After searching long and hard I finally found a way to do it. Makes me wonder why I didn't think of this before.
for ( int i = 0; i < GridContact.Rows.Count; i++ )
{
if ((int)GridContact.Rows[i].Cells[1].Value == ID )
{
GridContact.ClearSelection();
GridContact.Rows[i].Selected = true;
}
}
http://www.c-sharpcorner.com/Forums/Thread/84582/how-to-auto-select-a-newly-added-row-in-the-datagrid.aspx
|
|
|
|
|
static void ClearBoard(out char[,] board)
{
for (int Row = 0; Row < 3; Row++)
for (int Column = 0; Column < 3; Column++)
board[Column, Row] = ' ';
}
board will be passed in and will ALWAYS be of the form char[3,3];
When compiling, I get the error
"The out parameter 'board' must be assigned to before control leaves the current method".
Any idea why?
|
|
|
|
|
An out parameter is expected to be initialized in the called method, just as the error is telling you. If you are passing something in and want the same object returned, then use ref.
I know the language. I've read a book. - _Madmatt
|
|
|
|
|
With any array I don't think ref is required either.
|
|
|
|
|
True, i was speaking generically about the differences between the two
I know the language. I've read a book. - _Madmatt
|
|
|
|
|
Hi,
you don't need out nor ref, as all you are passing is an object, in this case an array of chars. objects get passed by reference, which means both parties (caller and callee) can access the object and modify it.
FYI: without out or ref the callee can not replace the object by a new object (actually, he can, but it will not affect the caller). But that is not what the name of the method implies, when it says ClearBoard it sounds like it is clearing an existing board.
If OTOH the method were intended to create a new and cleared board, I would call it CreateClearedBoard, and the proper way would be to make that the return object, dropping the void attribute.
|
|
|
|
|
performs a binary comparision. this memeber is equivalent to the visual basic constant vbBinaryCompare. what is the equivalent method in C#?
|
|
|
|
|
Seems like it does something comparable to StringComparison.Ordinal .. I'm not too sure though, I don't know VB.
|
|
|
|
|
I suggest you have a look at string.CompareOrdinal()
|
|
|
|
|
Please, I need some idea on how to secure a password string against keylogger spywares installed on a client host.
PLEASE, password input is via the KEYBOARD only.
thanks, ur suggestions will be appreciated.
|
|
|
|
|
You could register a new keyboard hook which doesn't call CallNextHookEx , that's a bit nasty though and it can break hotkeys and other programs (and keyloggers, but that's the point)
If you do this and a keylogger (re-)registers its hook, the keylogger will still work.
Also, it will only work against simple usermode keyloggers.
|
|
|
|
|
I have agridview i fill it from datatable but i want to add new emptyrow af first before filling
|
|
|
|
|
gridview.Rows.add("",""....);
OR
gridview.Rows.add(5);
EASY COME EASY GO
|
|
|
|
|
i tried this
gridview1.Rows.Add();
gridview1.DataSource = ds;
this exception
No row can be added to a DataGridView control that does not have columns. Columns must be added first.
|
|
|
|
|
this exception
No row can be added to a DataGridView control that does not have columns. Columns must be added first.
so what do you think the problem???
how many col in your database?
if 2
then
for example:
gridview1.columns.add("id","id");
gridview1.columns.add("name","name");
then try it
if it did not work try to add them row by row
EASY COME EASY GO
|
|
|
|
|
Thank u sanforjackass
thats help me alot.
|
|
|
|