请问各位大哥、大姐:
      怎么才能获得listView控件中的子项(subItems)的文本值?
谢谢了!

解决方案 »

  1.   

    textBox1.Text = listView1.Items[0].SubItems[1].Text;
    第一个子项。
      

  2.   

    this.listView1.Items[x].SubItems[y].Text;//第x行第y列的文本值
      

  3.   

    listView.Items[index].SubItems.ToString();
      

  4.   

    给两个方法你,有读取item及列宽的方法,就用这个方法后还可以直接调用打印程序
    打印ListViewListView打印
    http://blog.csdn.net/flygoldfish/archive/2005/12/12/550421.aspx
    /// <summary>
    /// 获取ListView控件的列宽。
    /// </summary>
    /// <param name="listView">二维数据视图</param>
    /// <returns>列宽数组。</returns>
    public static int[] GetColsWidth(ListView listView)
    {
    #region 实现... int[] arrReturn = null; int colsCount = listView.Columns.Count; arrReturn = new int[colsCount];
    for (int i = 0; i < colsCount; i++)
    {
    arrReturn[i] = listView.Columns[i].Width;
    } return arrReturn; #endregion 实现
    }/// <summary>
    /// 将ListView的数据导出到二维数组。
    /// </summary>
    /// <param name="listView">二维数据视图</param>
    /// <param name="includeColumnText">是否要把列标题文本也导到数组中。</param>
    /// <res>
    ///  <作者>长江支流</作者>
    ///  <日期>2005-08-21</日期>
    ///  <修改></修改>
    /// </res>
    /// <returns>二维数组。</returns>
    public static string[,] ToStringArray(ListView listView, bool includeColumnText)
    {
    #region 实现... ListView lvw = listView;
    int rowsCount = lvw.Items.Count;
    int colsCount = lvw.Columns.Count; //包括列标题
    if (includeColumnText)
    {
    rowsCount++;
    } string[,] arrReturn = null; arrReturn = new string[rowsCount, colsCount]; int i = 0; if (includeColumnText)
    {
    //写标题
    for (i = 0; i < colsCount; i++)
    {
    arrReturn[0, i] = lvw.Columns[i].Text;
    } i = 1;
    } //写数据行Items
    int rowIndex = 0;
    for (; i < rowsCount; i++, rowIndex++)
    {
    for (int j = 0; j < colsCount; j++)
    {
    arrReturn[i, j] = lvw.Items[rowIndex].SubItems[j].Text;
    }
    } return arrReturn; #endregion 实现
    }