怎么在数据库中删除在ListView中选定的一行,ListView显示的是数据库中的表

解决方案 »

  1.   

    获得listview中选定行的信息`再用SQL语句直接从数据库删
      

  2.   

    /*
     * Created by SharpDevelop.
     * 编 制 员: 圣斗士
     * 文    件: ListViewClass.cs
     * 概    要: ListView基本功能
     * 组成结构:
     * To change this template use Tools | Options | Coding | Edit Standard Headers.
     */
    //1.ListView格线形式,并且可选
    //this.lsvRecord.FullRowSelect = true;
    //2.ListView带复选框的形式,不可选
    //this.lsvRecord.CheckBoxes = true;
    using System;
    using System.Data;
    using System.Data.SqlClient;
    using System.Collections;
    using System.Windows.Forms;
    namespace DBClass
    {
    /// <summary>
    /// ListViewClass 的摘要说明。
    /// ListView的基本功能极其操作
    /// </summary>

    public class ListViewClass
    {
    static string lvName = ""; /// <summary>
    /// 作者:  美迪斯--从不受伤痕的身体
    /// 说明:  初始化ListView的列标题和子行
    /// 参数1: System.Windows.Forms.ListView : ListView实际对象.
    /// 参数5: int[] lsvWidth
    /// </summary>
    public static void initListViewTol(System.Windows.Forms.ListView lsv,string[] lvArray,int[] lsvWidth)
    {
    for(int j = 0;j<lvArray.Length;j++)
    {
    lsv.Columns.Add(lvArray[j].Trim(),lsvWidth[j], HorizontalAlignment.Left);
    }
    string[] ddd = new string[2];
    for(int t = 0;t<38;t++)
    {
    ddd[0] = "";
    ddd[1] = "";
    lsv.Items.Insert(t,new ListViewItem(ddd));
    }
    }
    /// <summary>
    /// 作者:  星矢--天马小英雄
    /// 说明:  初始化ListView的列标题和子行
    /// 参数1: System.Windows.Forms.ListView : ListView实际对象.
    /// 参数2: string[] lvArray : ListView上列的值.
    /// 参数3: System.Data.DataSet dsT :DataSet对象用来遍历数据库的行
    /// 参数4: string lsTable :要绑定的表的名字
    /// 参数5: int[] lsvWidth
    /// </summary>
    public static void initListView(System.Windows.Forms.ListView lsv,string[] lvArray,System.Data.DataSet dsT,string lsTable,int[] lsvWidth)
    {
    //开始更新
    lsv.BeginUpdate();
    for(int j = 0;j<lvArray.Length;j++)
    {
    //添加ListView的列
    lsv.Columns.Add(lvArray[j].Trim(),lsvWidth[j], HorizontalAlignment.Left);
    //lsv.Columns[j].Width = 20;
    }

    for(int i=0;i<dsT.Tables[lsTable].Rows.Count;i++)
    {
    string[] dsCollection = new string[19];
    for(int k = 0;k<dsT.Tables[lsTable].Columns.Count;k++)
    {
    //添加列下的行
    dsCollection[k] = dsT.Tables[lsTable].Rows[i].ItemArray[k].ToString();

    }
    lsv.Items.Insert(i,new ListViewItem(dsCollection));
    }
    //结束更新
    lsv.FullRowSelect = true;
    lsv.EndUpdate();
    dsT.Dispose();
    }
      

  3.   

    /// <summary>
    /// 初始化ListView行&列,纵向
    /// 参数1: ListView lsvt:ListView对象
    /// 参数2: string lvTable 表名
    /// 参数3: string[] Text 字段名
    /// 参数4  DataSet dsS DataSet值
    /// 作者: 冰河--白鸟,冰源战士
    /// </summary>
    public static void initColumns(ListView lsvt,/*string[] ListColumns,int[] lsvtWidth,*/string lvTable,string[] Text,DataSet dsS)
    {
    lsvt.BeginUpdate();
    for(int i=0;i<dsS.Tables[lvTable].Columns.Count;i++)
    {
    string[] dsRow = new string[19];
    dsRow[0] = Text[i];
    dsRow[1] = dsS.Tables[lvTable].Rows[0].ItemArray[i].ToString();
    lsvt.Items.Insert(i,new ListViewItem(dsRow));
    }
    lsvt.FullRowSelect = false;
    lsvt.CheckBoxes = false;
    lsvt.EndUpdate();
    dsS.Dispose();

    }
    /// <summary>
    /// 修改ListView行上的列值(指定列)
    /// 参数1: ListView lsvt: ListView对象
    /// 参数2: 表名
    /// 参数3: 1列的行值
    /// 参数4: DataSet对象
    /// 作者: 星矢2-伤痕--男子汉的勋章
    /// </summary>
    public static void updateListView(ListView lsvt,string lvTable,string[] Text,DataSet dsS)
    {
    for(int i=0;i<dsS.Tables[lvTable].Columns.Count;i++)
    {
    string bbb = dsS.Tables[lvTable].Rows[0].ItemArray[i].ToString();
    lsvt.Items[i].SubItems[0].Text = Text[i];
    lsvt.Items[i].SubItems[1].Text = dsS.Tables[lvTable].Rows[0].ItemArray[i].ToString();
    }
    dsS.Dispose();
    } /// <summary>
    /// 修改ListView行上的列值(指定列)
    /// 参数1: ListView lsvMo: ListView对象
    /// 参数2: string[] strMo: 要修改的值
    /// 作者: 邪武-独角兽速拳
    /// </summary>
    public static void Modifiy(ListView lsvMo,string[] strMo)
    {

    lsvMo.SelectedItems[0].SubItems[0].Text = strMo[0];
    lsvMo.SelectedItems[0].SubItems[1].Text = strMo[1];
    lsvMo.SelectedItems[0].SubItems[3].Text = strMo[2];
    } /// <summary>
    /// 修改ListView行上的列值
    /// 参数1: ListView lsvMo: ListView对象
    /// 参数2: string[] strMo: 要修改的值
    /// 作者: 紫龙--情谊之最
    /// </summary>
    public static void Modifiys(ListView lsvMo,string[] strMo)
    {
    for(int i = 0;i<strMo.Length;i++)
    {
    lsvMo.SelectedItems[0].SubItems[i].Text = strMo[i];
    }
    } /// <summary>
    /// 添加ListView行,只添加一行
    /// 参数1: ListView lst 传入ListView的对象
    /// 参数2: string[] addRow 要添加行的列值
    /// 参数2: int itemNumber 要添加行的位置
    /// 作者: 一辉--死亡皇后岛上的圣斗士
    /// </summary>
    public static void addListViewRow(ListView lst,string[] addRow,int itemNumber)
    {
    lst.Items.Insert(itemNumber,new ListViewItem(addRow));
    //lsvAdd.Items[itemNumber].ImageIndex = 0;
    }


    /// <summary>
    /// 返回ListView中选中的信息
    /// 参数: 传入ListView的对象
    /// 作者: 加隆--幕后的操纵者
    /// </summary>
    public static string[] ListViewValues(System.Windows.Forms.ListView ls)
    {
    lvName = ls.Name; //名字
    string[] LitValue = new string[19]; //动态分配数组大小
    if(ls.SelectedItems.Count>0)
    {
    //Columns
    for(int i = 0 ;i<ls.SelectedItems[0].SubItems.Count;i++)
    {  
    LitValue[i] = ls.SelectedItems[0].SubItems[i].Text;
    }
    }
    return LitValue;
    } /// <summary>
    /// 让ListView中选中行滚!!!!!!!!!!!!!!
    /// 参数: 传入ListView的对象
    /// 作者: 迪斯马斯克--巨蟹
    /// </summary>
    public static void ListViewRemove(ListView lp)
    {
    if(lp.SelectedItems.Count > 0)
    {
    int i = lp.SelectedIndices[0];
    lp.Items[i].Remove();
    }
    }
      

  4.   

    /// <summary>
    /// ListView中选中的信息向下移动
    /// 参数: 传入ListView的对象
    /// 作者: 沙加--最接近神的男人
    /// </summary>
    public static void RowNext(ListView lvsNext)
    {
    if(lvsNext .SelectedItems !=null&&lvsNext.SelectedIndices .Count >0)
    {
    int i = lvsNext.SelectedIndices[0];
    if(i == lvsNext.Items.Count-1)
    {
    lvsNext.Items[i].Selected = true;
    lvsNext.Focus();
    }
    else if(i+1 <lvsNext.Items.Count)
    {

    lvsNext.Items[i+1].Selected = true;
    lvsNext.Focus();
    }
    }
    } /// <summary>
    /// ListView中选中的信息向上移动
    /// 参数: 传入ListView的对象
    /// 作者: 撒加--神的化身
    /// </summary>
    public static void RowPrevious(ListView lvsPrevious)
    {
    if(lvsPrevious .SelectedItems !=null&&lvsPrevious.SelectedIndices .Count >0)
    {
    int i = lvsPrevious.SelectedIndices[0];
    if(i == 0)
    {
    lvsPrevious.Items[i].Selected = true;
    lvsPrevious.Focus();
    }
    else if(i > 0)
    {
    lvsPrevious.Items[i-1].Selected = true;
    lvsPrevious.Focus();
    }
    }
    } /// <summary>
    /// 显示ListView中的信息在第一行
    /// 参数: 传入ListView的对象
    /// 作者: 穆先生--和蔼的白羊座
    /// </summary>
    public static void RowFirst(ListView lvslsvFirst)
    {
    lvslsvFirst.Items[0].Selected = true;
    lvslsvFirst.Focus();
    } /// <summary>
    /// 显示ListView中的信息在最后一行
    /// 参数: 传入ListView的对象
    /// 作者: 修罗--伟大的圣剑
    /// </summary>
    public static void RowLast(ListView lvsLast)
    {
    lvsLast.Items[lvsLast.Items.Count-1].Selected = true;
    lvsLast.Focus();
    } /// <summary>
    /// ListView中选中的信息保持状态
    /// 参数: 传入ListView的对象
    /// 作者: 沙加--最接近神的男人
    /// </summary>
    public static void RowKeep(ListView lvsKeep)
    {
    if(lvsKeep .SelectedItems !=null&&lvsKeep.SelectedIndices .Count >0)
    {
    int i = lvsKeep.SelectedIndices[0];
    if(i <lvsKeep.Items.Count)
    {
    lvsKeep.Items[i].Selected = true;
    lvsKeep.Focus();
    }
    }
    } /// <summary>
    /// ListView中选中的信息不被选中
    /// 参数: 传入ListView的对象
    /// 作者: 艾尔扎克--俄罗斯冰神拳
    /// </summary>
    public static void RowFalse(ListView lvsFalse)
    {
    if(/*lvsFalse .SelectedItems !=null&&*/lvsFalse.SelectedIndices.Count >0)
    {
    int i = lvsFalse.SelectedIndices[0];

    lvsFalse.Items[i].Selected = false;
    }
    }