OK,因为Android 上有ListView 。后来查了查文档,果真在C#中有ListView,这种自定义的控件。c#
因为C#上面能够拖动组件到面板上,但这种感受不怎么好。工具
那么今天就继承这个 来编写一个工具类。this
class MyListView : ListView { /// <summary> /// 增长列名 /// </summary> /// <param name="names">列名集合</param> /// <returns>成功 true 失败 false</returns> public Boolean addColumns(params string[] names) { try { if (this.Columns.Count == 0) { for (int i = 0; i < names.Length;i++ ) { this.Columns.Add(names[i]); } return true; } return false; } catch (Exception e) { //e.Message(); return false; } } /// <summary> /// 追加列 /// </summary> /// <param name="colName">列名</param> /// <returns>成功 true 失败 false</returns> public Boolean addCol(string colName) { try { this.Columns.Add(colName); return true; } catch (Exception e) { //e.Message(); return false; } } /// <summary> /// 删除全部数据 /// </summary> /// <returns>成功 true 失败 false</returns> public Boolean removeAll() { try { this.Clear(); return true; } catch (Exception e) { return false; } } /// <summary> /// 删除列 /// </summary> /// <param name="index"></param> /// <returns></returns> public Boolean removeCol(int index) { try { this.Columns.RemoveAt(index); return true; } catch (ArgumentOutOfRangeException e) { return false; } } /// <summary> /// 删除列 /// </summary> /// <param name="colName"></param> /// <returns></returns> public Boolean removeCol(String colName) { try { this.Columns.RemoveByKey(colName); return true; } catch (Exception e) { return false; } } /// <summary> /// 删除行 /// </summary> /// <param name="index"></param> /// <returns></returns> public Boolean removeRow(int index) { try { this.Items.RemoveAt(index); return true; } catch (ArgumentOutOfRangeException e) { return false; } } /// <summary> /// 删除行 /// </summary> /// <param name="key"></param> /// <returns></returns> public Boolean removeRow(String key) { try { this.Items.RemoveByKey(key); return true; } catch (Exception e) { return false; } } /// <summary> /// 在最后一行追加一列 /// </summary> /// <param name="rows">数据集</param> /// <returns>成功 true 失败 false</returns> public Boolean addRows(params string[] rows) { try { this.Items.Add(rows[0]); for (int i = 1; i < rows.Length; i++) { this.Items[this.Items.Count - 1].SubItems.Add(rows[i]); } return true; } catch (Exception e) { return false; } } /// <summary> /// 在最后一行追加一列 /// </summary> /// <param name="rows">数据集</param> /// <returns>成功 true 失败 false</returns> public Boolean addRows(int index,params string[] rows) { try { ListViewItem item = new ListViewItem(); for(int i = 0 ; i < rows.Length ;i ++){ item.SubItems.Add(rows[i]); } this.Items.Insert(index,item); return true; } catch (ArgumentOutOfRangeException e) { return false; } } /// <summary> /// 在指定行追加内容 /// </summary> /// <param name="rows">数据集</param> /// <returns>成功 true 失败 false</returns> public Boolean addRow(int rowIndex, params string[] rows) { try { for (int i = 0; i < rows.Length;i++ ) { this.Items[rowIndex].SubItems.Add(rows[i]); } return true; } catch (ArgumentOutOfRangeException e) { return false; } } /// <summary> /// 返回有多少行 /// </summary> /// <returns></returns> public int rowSize() { return this.Items.Count; } /// <summary> /// 返回有多少列 /// </summary> /// <returns></returns> public int colSize() { return this.Columns.Count; } }
这样作能够为后期开发作准备~~~
code