首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

还是DataGridView的有关问题,没办法结贴

2012-04-01 
还是DataGridView的问题,没办法结贴usingSystemusingSystem.Collections.GenericusingSystem.ComponentM

还是DataGridView的问题,没办法结贴
using   System;
using   System.Collections.Generic;
using   System.ComponentModel;
using   System.Data;
using   System.Drawing;
using   System.Text;
using   System.Windows.Forms;
using   System.Data.SqlClient;

namespace   DataGridView_P
{
        public   partial   class   Form1   :   Form
        {
                public   Form1()
                {
                        InitializeComponent();
                }

                private   void   dataGridView1_CellContentClick(object   sender,   DataGridViewCellEventArgs   e)
                {

                }

                private   void   B_Ok_Click(object   sender,   EventArgs   e)
                {
                        string   sql   =   "select   username,userid,password,serverid   from   general_user; ";
                        string   source   =   "server=192.168.0.125;uid=sa;pwd=admin;database=ecs ";
                        SqlCommand   comm   =   null;
                        SqlConnection   conn   =   null;
                        DataSet   myDataSet   =   new   DataSet();
                        conn   =   new   SqlConnection(source);
                        conn.Open();
                        SqlDataAdapter   myDataAdapter   =   new   SqlDataAdapter(sql,conn);
                        myDataAdapter.Fill(myDataSet, "general_user ");
                        //dataGridView1.Columns[0].HeaderText   =   "这里会出错 ";
                            为什么一加上上面这一行就会出错呢,我搞不明白,高好来给我看一下好吗?
                        dataGridView1.DataSource   =   myDataSet.Tables[ "general_user "].DefaultView;
                        conn.Close();
                }

                private   void   B_Out_Click(object   sender,   EventArgs   e)
                {
                        Environment.Exit(0);


                }
        }
}

[解决办法]
myDataAdapter.Fill(myDataSet, "general_user ");
dataGridView1.DataSource = myDataSet.Tables[ "general_user "].DefaultView;
dataGridView1.DataBind();
dataGridView1.Columns[0].HeaderText = "这里会出错 ";

[解决办法]
数据都没绑定上去,dataGridView1当然没有列了
[解决办法]
太阳,dataGridView1没有DataBind定义,不知道2楼的是从哪里搞来的
[解决办法]
你的dataGridView1是啥控件,怎么可能没DataBind()事件
[解决办法]
报什么错先?

看你的程序, 貌似dataGridView1根本就什么都没有, 连个列都没有, dataGridView.Column[0]当然要出错, 你得先保证dataGridView里面有东西才行啊
[解决办法]
楼主的代码基本没有问题,只是设置列名时位置不对:
//dataGridView1.Columns[0].HeaderText = "这里会出错 ";
为什么一加上上面这一行就会出错呢,我搞不明白,高好来给我看一下好吗?
dataGridView1.DataSource = myDataSet.Tables[ "general_user "].DefaultView;

改为:
dataGridView1.DataSource = myDataSet.Tables[ "general_user "].DefaultView;
dataGridView1.Columns[0].HeaderText = "这里会出错 ";

先绑定数据再设置列名.
楼上试试吧
[解决办法]
DataGridViewColumn ahead = new DataGridViewColumn();
ahead.CellTemplate = new DataGridViewTextBoxCell();
ahead.HeaderText = "XXXXX ";
dataGridView1.Columns.Add(ahead);
[解决办法]
同意
sz709( "钱 "途越渺茫...,越要拼命学...)

dataGridView1.Columns[0].HeaderText = "这里会出错 ";
dataGridView1.DataSource = myDataSet.Tables[ "general_user "].DefaultView;
这样写数据还没有绑定好,没有生成列,所以dataGridView1.Columns.Count 应该是0
这个时候你用dataGridView1.Columns[0].HeaderText = "这里会出错 ";当然有问题了
[解决办法]
把设置列名的那句放到设置DataSource之后试试看。
[解决办法]
我猜想lz是想在DataGridView中顯示列名吧!!!
其實有個簡單的辦法:在你的sql中
string sql = "select username as 用戶名稱,userid as 用戶編號,password as 密碼,serverid as XXX from general_user; ";

如果是在vs2005中,控件本身的屬性中也可以設定字段和列名的bing。

[解决办法]
先执行
DataGridView.DataBind();
再设置列头
[解决办法]
当然有东西了,我数据库里有东西啊,
报这样的错啊
索引超出范围。必须为非负值并小于集合大小。
参数名: index

============

居然....还没catch到我们在说什么...

热点排行