DataSet ds = ...(取数据集)
DataTable dt = ds.Tables[0];
DataRow[] drs = dt.Select();
private void InitLsvSended(DataRow[] drs)
{
char[] chrSeperator = new char [] {';'};
string[] rowStrArr;
//clear the listview.
this.lsvSended .Items .Clear ();
//write the listview by loop.
foreach(DataRow dr in drs)
{
string strItem = dr["Id"].ToString ()+";"+dr["Name"].ToString ();
rowStrArr = strItem.Split (chrSeperator);
ListViewItem lsvItem = new ListViewItem (rowStrArr);
lsvItem.Tag = dr["Ticket_id"].ToString ();
//bind to the listview.
this.lsvSended .Items .Add (lsvItem);
}
}
////////
在此之前,要将listview1的columns属性里加上两列:ID和NAME。
这样就可以棒定上去了。Top
2 楼lovvver(ElephantTalk.Bright)回复于 2005-04-02 17:41:02 得分 0
这是我拷贝别的代码,
更正:private void InitLsvSended->private void InitListView1Top
3 楼lovvver(ElephantTalk.Bright)回复于 2005-04-02 17:44:39 得分 0
可以把取数据集写成一个方法:
如果在form load的时候就棒定的话,那就在form_load的事件里初始化数据集,然后调用该方法即可。其他类同。
Top
4 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-04-02 19:33:13 得分 0
取出的记录集RecordSet,然后分别去字段,取出的内容分别写入ListTop
5 楼wmt85(深山老翁)回复于 2005-04-02 21:35:35 得分 7
private void InitListView(DataTable dt)
{
//listView1.Items.Clear();
//listView1.Columns.Clear();
listView1.Columns.Add("列1的中文名称",宽度, 对齐方式);
listView1.Columns.Add("姓名",40, HorizontalAlignment.Left);
foreach(DataRow dr in dt.Rows)
{
listView1.Items.Add(new ListViewItem(new string[]{dr[1].ToString(),dr[2].ToString()}));
}
}Top
6 楼yuqi508(毛路)回复于 2005-04-02 21:36:09 得分 3
Try
' 打开连接
con.Open()
' 执行数据命令并取得(建立)数据读取器
myReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection Or CommandBehavior.SingleResult)
' 设定 ListView 控件的各栏的栏标题
For i As Integer = 0 To myReader.FieldCount - 1
ListView1.Columns.Add(myReader.GetName(i), 80, HorizontalAlignment.Left)
Next
' 建立一个 Object 类型的数组以便在 GetValues 方法中使用
Dim MyColumnValues(myReader.FieldCount - 1) As Object
' 循序移至各列并取得各字段的内容,然后以一个数组
' 的形式将各记录加至 ListView 控件中。
If myReader.HasRows Then
While myReader.Read()
' 将当前记录所有字段的内容存入数组 MyColumnValues 中
myReader.GetValues(MyColumnValues)
' 建立一个字符串数组
Dim MyColumnData(myReader.FieldCount - 1) As String
' 将 MyColumnValues 数组中的所有元素转换成字符串然后赋给 MyColumnData 数组
For i As Integer = 0 To myReader.FieldCount - 1
MyColumnData(i) = Convert.ToString(MyColumnValues(i))
Next
Dim NewItem As New ListViewItem(MyColumnData)
' 将项目加至 ListView 控件中
ListView1.Items.Add(NewItem)
End While
End If
Catch ex As Exception
MessageBox.Show(ex.ToString)
Finally
' 关闭数据读取器
myReader.Close()
End Try
Top
7 楼tuoliao722(鸵鸟)回复于 2005-04-03 11:27:40 得分 3
我有比较完整的代码,我现在也在做这个,可以用个数组来传值
public static ETCLASS[] Look
{
get
{
ETCLASS[] TO=null;
string ConStr=@"server=(local);"+"Integrated Security=true;"+"database=tl";
SqlConnection SqlConn=new SqlConnection (ConStr);
try
{
SqlConn.Open ();
string Sql="SELECT * FROM Score where "+condition;
SqlCommand SqlCmd=new SqlCommand(Sql.ToString (),SqlConn);
SqlDataReader SqlReader=SqlCmd.ExecuteReader();
TO=new ETCLASS[100];
//MessageBox.Show (condition1[0]);
int i=0;
while(SqlReader.Read())
{
// AdminObject AO=new AdminObject();
TO[i]=new ETCLASS();
TO[i].ID=SqlReader["ID"].ToString ();
TO[i].Pname=SqlReader["Pname"].ToString ();
TO[i].c=SqlReader["c"].ToString ();
TO[i].DB=SqlReader["DB"].ToString ();
TO[i].Java=SqlReader["Java"].ToString();
TO[i].mathe=SqlReader["mathe"].ToString ();
TO[i].System=SqlReader["System"].ToString();
TO[i].URL=SqlReader["URL"].ToString();
TO[i].XML=SqlReader["XML"].ToString();
i++;
}
}
catch //(Exception e)
{
// return false;
// MessageBox.Show (e.Message );
}
finally
{
SqlConn.Close();
}
return TO;
}
这个是数据库操作
private void bnbLook_Click(object sender, System.EventArgs e)
{
string na=this.txtID.Text.ToString();
ETCLASS UN=new ETCLASS();
ETCLASS.condition="ID='"+txtID.Text.Trim() +"'";
ETCLASS[] TO1=null;
TO1=ETCLASS.Look;
if (txtID.Text.Trim() == "" )
{
MessageBox.Show(this,"请输入学号!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
}
else
{
MessageBox.Show(TO1[0].mathe.ToString());
try
{
//MessageBox.Show(AO[0].adminName);
for(int i=0;i<TO1.Length;i++)
{
if(TO1[i]==null)
{
// MessageBox.Show("ww");
break;
}
///////////////////////////////listview显示
this.listView1.Items.Insert(0,TO1[i].ID.ToString());
listView1.Items[0].SubItems .Add (TO1[i].Pname.Trim ());
listView1.Items[0].SubItems .Add (TO1[i].mathe.Trim ());
listView1.Items[0].SubItems .Add (TO1[i].c.Trim ());
listView1.Items[0].SubItems .Add (TO1[i].XML.Trim ());
listView1.Items[0].SubItems .Add (TO1[i].URL.Trim ());
listView1.Items[0].SubItems .Add (TO1[i].Java.Trim());
listView1.Items[0].SubItems .Add (TO1[i].DB.Trim ());
listView1.Items[0].SubItems .Add (TO1[i].System.Trim ());
//listView1.Items[0].SubItems .Add (TO1[i].Add.Trim ());
//MessageBox.Show("ddd");
}
MessageBox.Show(this.listView1.Items.Count.ToString());
}
catch(Exception exc)
{
MessageBox.Show(exc.Message);
MessageBox.Show(this.listView1.Items.Count.ToString());
}
}
}
这个是窗体中的
浙公网安备 33010602011771号