C#
LISTVIEW 관련 함수들
안녕1999
2020. 10. 11. 23:55
static public class LISTVIEW { static public string Get_col_width(ListView lv) { int i, n; string s = ""; ListView.ColumnHeaderCollection h = lv.Columns; n = h.Count; for (i = 0; i < n; i++) { s += h[i].Width + ","; } return s; } static public string Get_col_name(ListView lv) { int i, n; string s = ""; ListView.ColumnHeaderCollection h = lv.Columns; n = h.Count; for (i = 0; i < n; i++) { s += h[i].Text + ";"; } return s; } static public void Set_col_name(ListView lv, string col_name,//="sheet;cell;text;min;value;max" string default_col_name)//="sheet;cell;text;min;value;max;" { int i, n; string[] c = col_name.Split(';'); string[] d=null; string name; ListView.ColumnHeaderCollection h = lv.Columns; h.Clear(); n = c.Length; try { for (i = 0; i < n; i++) { //데이터가 부족한 경우, 기본설정값 사용 name = c[i]; if ((name == "") || (name == null)) { if(d == null) { d = default_col_name.Split(';'); } else { } name = d[i]; } else { } h.Add(name); } } catch { } } static public void Set_col_width(ListView lv, string col_width,//="50,50,200,100,50,50,50" string default_col_width) { int i, n; string[] c = col_width.Split(','); string[] d=null; string s; ListView.ColumnHeaderCollection h = lv.Columns; n = c.Length; if(n>h.Count) { n = h.Count; } else { } try { for (i = 0; i < n; i++) { //읽은 데이터가 부족할 경우, 기본 데이터 사용 s = c[i]; if ((s == "") || (s == null)) { if (d == null) { d = default_col_width.Split(','); } else { } s = d[i]; } else { } h[i].Width = Convert.ToInt32(s); } } catch { } } static public void Ini_load_header_name_width(string Section, ListView lv, string col_name,//="번호;제목;가격;기타;" string col_width)//="50,50,200,100," { IniFile ini = new IniFile(); ini.SetSection(Section); string s; s = ini.Gets("COL_NAME", col_name); Set_col_name(lv, s, col_name); s = ini.Gets("COL_WIDTH", col_width); Set_col_width(lv, s, col_width); } static public void Ini_save_header_name_width(string Section, ListView lv) { IniFile ini = new IniFile(); ini.SetSection(Section); ini.Puts("COL_NAME", Get_col_name(lv)); ini.Puts("COL_WIDTH", Get_col_width(lv)); } }