DataTable dt = new DataTable();             
            if (ht["result_list"] is ArrayList)//ht["result_list"] 为查询出的数据;
            {
                ArrayList al = (ArrayList)ht["result_list"];
               
               //MessageBox.Show("11-"+al[2].ToString()+"-111111");
                MessageBox.Show("22-" + al.IndexOf(2).ToString() + "-111111");
                //MessageBox.Show("33-" + al.IndexOf(3).ToString() + "-111111");
                //MessageBox.Show("44-" + al.IndexOf(4).ToString() + "-111111");
                if (al == null)
                {
                    MessageBox.Show("空值");
                }
                else
                    MessageBox.Show("油渍。");
                dt.Columns.Add("ColumnNo");
                dt.Columns.Add("ColumnAlarmId");
                dt.Columns.Add("ColumnAlarmCode");
                dt.Columns.Add("ColumnAlarmMessage");
                dt.Columns.Add("ColumnAlarmTime");                int i = 1;
                foreach (Hashtable ht2 in al)
                {
                    System.Data.DataRow dr = dt.NewRow();                                        string id = CFMUtil.getHtValue(ht2, "alarm_id");
                    string code = CFMUtil.getHtValue(ht2, "alarm_code");
                    string message = CFMUtil.getHtValue(ht2, "alarm_message");
                    string time = CFMUtil.getHtValue(ht2, "alarm_start_time");
                                      //
                    MessageBox.Show(i.ToString());
                    MessageBox.Show(id);
                    MessageBox.Show(code);
                    MessageBox.Show(message);
                    MessageBox.Show(time);
                    //上面的数据,验证是从数据库查询出,是正确的。                    dr["ColumnNo"] = i;
                    dr["ColumnAlarmId"] = id;
                    dr["ColumnAlarmCode"] = code;
                    dr["ColumnAlarmMessage"] = message;
                    dr["ColumnAlarmTime"] = time;                    i=i + 1;
    
                }
                dataGridView1.DataSource = dt;
                int b=dataGridView1.RowCount;
                MessageBox.Show("kkkkkkkkkkkkkkkkkkkk"+b.ToString());我查询出来的list放进datagridview内,如上代码,有什么不正确的地方,造成未绑定成功,在winform中,‘属性’未做任何设定。===========================================================

解决方案 »

  1.   

     //更新GradView
            private void upDataGradView(string commStr,DataGridView view)
            {
            
                comm.CommandText = commStr;
                conn.Open();
                try
                {
                    read = comm.ExecuteReader();
                    view.DataSource = CreateData(read);
                }
                catch (Exception er)
                {
                    conn.Close(); throw er;
                }
                conn.Close();
                
            }
            //建造数据源
            private DataTable CreateData(SqlDataReader data)
            {
                DataTable table = new DataTable();
                DataColumn col;
                DataRow row;
                //创建表头
                for (int i = 0; i < data.FieldCount; i++)
                {
                    col = new DataColumn();
                    col.ColumnName = data.GetName(i);
                    col.DataType = data.GetFieldType(i);
                    table.Columns.Add(col);
                }
                //创建Table
                while (data.Read())
                {
                    row = table.NewRow();
                    for (int i = 0; i < data.FieldCount; i++)
                    {
                        if (data.GetValue(i) == null) row[i] = 0;
                        else
                        {
                            row[i] = data.GetValue(i).ToString().Trim();
                        }
                    }
                    table.Rows.Add(row);
                }
                data.Close();
                return table;
            }
      

  2.   

    comm
    conn
    read 
    需要自己初始化一下
      

  3.   


    i=i + 1;
    //后面加
    dt.Rows.Add(dr);