日期:2014-05-18  浏览次数:20812 次

哎,就没办法解决这个问题????(给自定义控件加默认数据源)
怎么给自定义的控件(比如一个gridview)默认绑定一个的dataset啊

在什么事件里写

我试了多少个了总显示 未将对像引用到对像实例



------解决方案--------------------
Page_Load += BindDataSet()

------解决方案--------------------
Page_Loaded += BindDataSet()
------解决方案--------------------
你把自定义控件拖到窗体上后,选中该自定义控件,属性窗口里的事件列表有load事件,在load事件里绑定你要绑的数据源
------解决方案--------------------
给算定义控制添加属性,然后在属性里给它数据源......这样也比较灵活....
------解决方案--------------------
给自定义控制添加属性,然后在属性里给它数据源......这样也比较灵活....
------解决方案--------------------
数据源也固定,我觉得有点不妥,怎么说,好像是死的了,不灵活多用,相当于只能你用,别人就不一定用得了,那你做这个怎么适合团队开发呢?
------解决方案--------------------
UP,
------解决方案--------------------
C# code

public partial class UserControl1 : UserControl
{
    public UserControl1()
    {
        InitializeComponent();
        db();
    }

    public void db()
    {
        DataTable dt = new DataTable();
        DataColumn[] td = new DataColumn[4];
        td[0] = new DataColumn("name", typeof(string));
        td[1] = new DataColumn("age", typeof(Int32));
        td[2] = new DataColumn("je", typeof(Int32));
        td[3] = new DataColumn("dz", typeof(string));
        dt.Columns.AddRange(td);

        DataRow tr = null;
        for (int i = 0; i < 3; i++)
        {
            tr = dt.NewRow();
            tr[0] = "name";
            tr[1] = 31;
            tr[2] = 20;
            tr[3] = "江西";
            dt.Rows.Add(tr);

            tr = dt.NewRow();
            tr[0] = "name";
            tr[1] = 30;
            tr[2] = 20;
            tr[3] = "江西";
            dt.Rows.Add(tr);

            tr = dt.NewRow();
            tr[0] = "name1";
            tr[1] = 20;
            tr[2] = 10;
            tr[3] = "浙江";
            dt.Rows.Add(tr);

            tr = dt.NewRow();
            tr[0] = "name1";
            tr[1] = 21;
            tr[2] = 10;
            tr[3] = "浙江";
            dt.Rows.Add(tr);

            tr = dt.NewRow();
            tr[0] = "name2";
            tr[1] = 10;
            tr[2] = 5;
            tr[3] = "湖北";
            dt.Rows.Add(tr);
        }
        dataGridView1.DataSource = dt;
    }

    public object DataSource
    {
        get { return dataGridView1.DataSource; }
        set { dataGridView1.DataSource = value; }
    }
}