winforms - c# Generic list filter -
i have list of objects. classes looks this:
class line { public string { get; set; } public object b { get; set; } public string c { get; set; } } class more_b { public information information { { return _information; }} public description description { { return _description ; }} private information _information = new information(); private description _description = new description (); } class information { public string name { get; set;} public string type { get; set;} public string further_info { get; set;} }
in main class @ end data inside line
class this.
more_b info = new more_b(); line main = new line(); main.a = "information device"; main.b = info; main.c = "some more information display here"; list3.add(main);
so @ end list inside have 3 fields a
b
c
. have string values in a
, c
, in b
when check in debug mode have information object , inside of have fields name
type
, further_info
.
i later want filter column based on these values "name" "type" , "further_info", tried way not working. (i binded list dataview able use rowfilter).
view2.rowfilter = "line '%" + textbox2.text + "%'";
how can right?
i new c#, please forgive me, if did wrong. if hard understand, let me know , try post more of code explaining did.
edit: when use statement view2.rowfilter = "line '%" + textbox2.text + "%'";
error cannot perform 'like' operation on read_display.more_b , system.string.
edit2: have 2 more methods creating datatable class , this: datatable listasdatatable2 = builddatatable2<line>(list3); dataview listasdataview2 = listasdatatable2.defaultview; this.datagridview4.datasource = view2 = listasdataview2;
try in way:
public class line { public string {get;set;} public more_b b {get;set;} public string c {get;set;} } public class information { public string name { get; set;} public string type { get; set;} public string further_info { get; set;} } public class more_b:information { public string cusotmfield {get;set;} } var b_object = new more_b (name = "the b", type = "some type", further_info = "more info"); ilist<more_b> b_list=new list<more_b>(); var searchobj = b_list.where(x => x.name=="the b").firstordefault();
Comments
Post a Comment