ListViewItem lvi=new ListViewItem();
lvi.Text=ds.Tables[0].Rows[0][0].ToString();
lvi.SubItems[1].Text=ds.Tables[0].Rows[0][1].ToString();
lvi.SubItems[2].Text=ds.Tables[0].Rows[0][2].ToString();
lvi.Text=ds.Tables[0].Rows[0][0].ToString();
lvi.SubItems[1].Text=ds.Tables[0].Rows[0][1].ToString();
lvi.SubItems[2].Text=ds.Tables[0].Rows[0][2].ToString();
解决方案 »
- DataGridView中如何写Button事件
- 如何将含泛型struct的ArrayList解析出来!(麻烦给位版主!)
- 图片上传的奇怪问题
- DataGrid的一个应用问题
- 為什麼鼠標中鍵在DATAGRID上滾動時會把焦點移到其它控件上????
- mscomm32.ocx控件在windows xp sp2系统中怎么不能用啊?
- 急急!请版主和各高手兄弟们帮助啊,今晚一定得搞出来,一个treeview控件和数据库绑定的问题,请看正文,分不够可加
- 我设计了个三层结构的系统如下...
- 怎么获取所有已打开文件夹的绝对路径 或者是获取已经激活的文件夹的路径啊路
- 这个怎么做?
- 如何在某个控件的双击事件中判断是左键双击还是右键双击?
- 如何在datagrid中实现主表与子表的效果
for( int i=0;i<len;i++)
{
ListViewItem item = new ListViewItem("");
item.SubItems[i].Text = ds.Tables[0].Rows[0][1].ToString();
}
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient;namespace TreeViewApp
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class frmListView : System.Windows.Forms.Form
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.ListView listView1; public frmListView()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
} /// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
} #region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.listView1 = new System.Windows.Forms.ListView();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(320, 16);
this.button1.Name = "button1";
this.button1.TabIndex = 0;
this.button1.Text = "button1";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// listView1
//
this.listView1.Location = new System.Drawing.Point(8, 56);
this.listView1.Name = "listView1";
this.listView1.Size = new System.Drawing.Size(384, 272);
this.listView1.TabIndex = 1;
this.listView1.View = System.Windows.Forms.View.Details;
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(408, 346);
this.Controls.Add(this.listView1);
this.Controls.Add(this.button1);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false); }
#endregion /// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new frmListView());
} private void button1_Click(object sender, System.EventArgs e)
{
string strConn="server=(local);database=Northwind;uid=sa;pwd=sa";
string SqlStr = "SELECT * FROM Products"; SqlConnection cn=new SqlConnection(strConn);
SqlDataAdapter ada=new SqlDataAdapter();
ada.SelectCommand=new SqlCommand(SqlStr, cn); DataTable dt=new DataTable();
ada.Fill(dt); ListDataToView(dt);
}
private void ListDataToView(DataTable dt)
{
this.listView1.FullRowSelect = true;
this.listView1.Columns.Clear();
for(int i=0; i<dt.Columns.Count; i++)
{
ColumnHeader ch = new ColumnHeader();
ch.Text = dt.Columns[i].ColumnName;
this.listView1.Columns.Add(ch);
}
for (int i=0;i<dt.Rows.Count; i++)
{
ListViewItem tmpItem = new ListViewItem(dt.Rows[i][0].ToString());
for (int j=1; j<dt.Columns.Count; j++)
{
tmpItem.SubItems.Add(dt.Rows[i][j].ToString());
}
this.listView1.Items.Add(tmpItem);
}
}
}
}
/// 执行选择类型的存储过程,并将查询返回的数据填充到指定的 ListView 控件中。
/// </summary>
/// <param name="procedure">需要执行的 Sql 存储过程。</param>
/// <param name="listView">需要填充的 ListView 控件。</param>
/// <returns>如果执行成功返回 true ,否则返回 false 。</returns>
public static bool Select(string procedure, ListView listView)
{
try
{
// 设置 ListView 控件视图
if(listView.View != View.Details) listView.View = View.Details;
// 定义 SqlConnection 对象
using(SqlConnection cn = new SqlConnection(Sql.ConnectionString))
{
cn.Open(); // 打开Sql链接
// 定义 SqlCommand 对象
using(SqlCommand cmd = new SqlCommand(procedure,cn))
{
// 定义 SqlDataReader 对象
using(SqlDataReader reader = cmd.ExecuteReader())
{
listView.Items.Clear(); // 清空 ListView 控件项目
listView.Columns.Clear(); // 清空 ListView 控件列标头 // 逐行读取数据集返回的结构表信息中的数据
foreach(DataRow row in reader.GetSchemaTable().Rows)
{
// 加载 ListView 控件的列标头
listView.Columns.Add(
row["ColumnName"].ToString(),
(listView.Width-20)/reader.GetSchemaTable().Rows.Count,
HorizontalAlignment.Left);
}
if(!reader.HasRows) return true; // 如果数据集中不包含数据则返回
ArrayList Ary = new ArrayList(); // 定义 ArrayList 对象
//逐条读取数据记录
while(reader.Read())
{
ListViewItem item = null; //定义 ListViewItem 对象
//循环记录集中的数据
for(int i=0; i<reader.FieldCount; i++)
{
//返回数据信息
if(i == 0) item = new ListViewItem(reader[i].ToString());
else item.SubItems.Add(reader[i].ToString());
}
item.ImageIndex = 0; //设置图像索引
Ary.Add(item); //将 item 加入集合
}
//实例化 ListViewItem 控件数组
ListViewItem[] items = new ListViewItem[Ary.Count];
Ary.CopyTo(items); //填充 ListViewItem 控件数组
listView.Items.AddRange(items); //加载 ListView 控件项目
}
}
cn.Close(); //关闭Sql链接
return true; //返回 true
}
}
catch { return false; }
}