将DataSet数据写入到listview中

 ///


  /// 将dataset数据加入listview 中
  ///

  ///
  private void FillList( System.Data.DataSet _DS )
  {
   lV_Customer_Client.View = System.Windows.Forms.View.Details;

   int RowCount = _DS.Tables[0].Rows.Count;
   int ColumnCount = _DS.Tables[0].Columns.Count;

   //为listview添加columnname
   for (int j=0;j   {
    string ColumnName = _DS.Tables[0].Columns[j].ColumnName;
    lV_Customer_Client.Columns.Add(ColumnName,-2,HorizontalAlignment.Left);
   }

   //循环每一行
   for (int i=0;i   {
    string itemName =_DS.Tables[0].Rows[i][0].ToString();

     

    ListViewItem item = new ListViewItem(itemName,i);

    
    //循环每一列
    for (int j=1;j    {
     item.SubItems.Add( _DS.Tables[0].Rows[i][j].ToString());

    }
    bool IsChecked = false;
    
    //根据数据表中的flag字段来表识该行是否被选中
    string _Flag =  _DS.Tables[0].Rows[i][3].ToString();

    if ( _Flag.Equals("0") )
    {
     IsChecked = false   ;
    }
    else      
    {
     IsChecked = true;
    }
    
    item.Checked= IsChecked;   

    //将整理好的item加入到listview
    lV_Customer_Client.Items.Add(item);
   }


  }
  #endregion 

 

 

///


  /// 每一行被check的时候判断 该行是否允许check
  ///

  ///
  ///
  private void lV_Customer_Client_ItemCheck(object sender, System.Windows.Forms.ItemCheckEventArgs e)
  {

   int CurrentItem = e.Index;
   CheckState State;

   State = e.NewValue;

   if ( (State == CheckState.Unchecked) &&
    ( lV_Customer_Client.Items[ CurrentItem ].SubItems[3].Text == "2" ))
   {
    e.NewValue = e.CurrentValue;
   }

  }
  #endregion

 

 

你可能感兴趣的:(将DataSet数据写入到listview中)