OK,由于Android 上有ListView 。后来查了查文档,果然在C#中有ListView,这种自定义的控件。
由于C#上面可以拖动组件到面板上,但这种感觉不怎么好。
那么今天就继承这个 来编写一个工具类。
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;
}
}
这样做可以为后期开发做准备~~~