c# - BindingSource Get Current Row -


i cannot current row value. how can do?

bindingsource1.datasource = ldata; (ldata generic list) 
public datarow currentrow { { int position = this.bindingcontext[bindingsource1].position; if (position > -1) { return ((datarowview)bindingsource1.current).row; } else { return null; } } } 

i cannot current row :

 messagebox.show(currentrow["name"].tostring()); 

getting err: invalidcastexception, how can do? thanks.

you can't expect have datarow objects in bindingsource1.current if you're setting datasource list<t> instead datatable. in case bindingsource1.current contain instance of generic type.

i suppose you're initializing ldata this:

ldata = new list<t>(); 

the property should this:

public t currentrow { { int position = this.bindingcontext[bindingsource1].position; if (position > -1) { return (t)bindingsource1.current; } else { return null; } } } 

and read value (assuming name property of t):

messagebox.show(currentrow.name); 

not tested of course, should work. use debugger in following line see contents of current property like:

return (t)bindingsource1.current; 

Comments

Popular posts from this blog

javascript - backbone.js Collection.add() doesn't `construct` (`initialize`) an object -

php - Get uncommon values from two or more arrays -

Adding duplicate array rows in Php -