datagridview,如何引用DataGrid?

如何引用DataGrid? - 故障解答 - 电脑教程网

如何引用DataGrid?

日期:2006-09-30   荐:
如何引用DataGrid?<NotifyParentProperty(True), Category("其他"), DefaultValue(""), _ Description("相关的Grid"), Bindable(True)> _ Public Property AboutGrid() As System.Web.UI.WebControls.DataGrid '无法获得设置的DataGrid ,提示没有未将对象引用设置到对象的实例... Get EnsureChildControls() Return ViewState("AboutGrid") End Get Set(ByVal Value As System.Web.UI.WebControls.DataGrid) EnsureChildControls() ViewState("AboutGrid") = Value End Set End Property在页面选择了Datagrid之后,一旦使用AboutGrid属性,提示没有未将对象引用设置到对象的实例我也希望有人能回答哈,告诉我们这些新手.用调试器在set和get的入口设置断点,看看谁先谁后。中断之后看看堆栈中的代码的先后。然后,你可以把问题问得再具体一些.....中断之后要分析内存变量的当前值!搂主提问的时候如果已经作了上述调试,问题也就问得比较清楚了。关键该属性在设置后,保存退出程序,回来后没有了这说明该属性的保存根本就没有成功阿提示类型“System.Web.UI.WebControls.DataGrid”必须标记为 Serializable 或者具有 ReferenceConverter 以外的 TypeConverter,才能被放置在视图状态中。试验:<Serializable()> _Public NotInheritable Class MyGridHead............失败...............................http://community.csdn.net/Expert/topic/3599/3599194.xml?temp=.7441217看了之后依然失败............why do you ever want to save a datagrid in ViewState??因为我想做的控件,其实只是一个容器,想放一个Datagrid进去,然后获得Datagrid的Id和列头信息——用来生成一个Table,放在Datagrid的上边。这样子我做一个属性,指向datagrid,然后在控件生成后,就可以在下拉框中自动选择已经存在的Datagrid,而不需要手动的去书写。可是现在下拉框可以选择——但是实际上该属性并没有被激发,关闭程序重新打开后,该属性丢失,运行也是没有激发该属性的。不一定非要保存到ViewState的,但是总要保存吧,怎么办呢?Dim MyDataGrid As DataGrid Public Property AboutGrid() As System.Web.UI.WebControls.DataGrid '无法获得设置的DataGrid ,提示没有未将对象引用设置到对象的实例... Get Return MyDataGrid End Get Set(ByVal Value As System.Web.UI.WebControls.DataGrid) MyDataGrid = Value End Set End Property如果这样子的话,后期用代码绑定可以——用属性窗口设置也是不激发该事件的。最重要的是,属性窗口设置后——保存不住..............继续问,继续试验...............................我哭...~O~不知道怎么解决!帮你顶在视图状态中保存自定义的对象 作者:未知>>>> 背景:>>>>B/S三层结构系统,在表现层实例化业务层的对象,并使用此对象执行业务规则,访问数据层。 >>>>问题:>>>>在表现实例化一个业务对象,在操作此对象时发现它不能被加入到ViewState中,提示错误:>>>>类型“AmmeterChg”必须标记为 Serializable 或者具有 ReferenceConverter 以外的TypeConverter,才能被放置在视图状态中。>>>>解决方案:>>>>通过将类实现 ISerialization 接口,使它可被序列化>>>>实现接口部分的代码如下: >>>>#region ISerializable 成员>>>>protected ammeterChg(SerializationInfo info,StreamingContext context)>>>>{>>>>this.customer_id = info.GetString("customer_id");>>>>this.am_id_old = info.GetString("am_id_old");>>>>this.abc =info.GetString("abc");>>>>this.ycbds_old = info.GetDouble("ycbds_old");>>>>}>>>>public void GetObjectData(System.Runtime.Serialization.SerializationInfo info, >>>>System.Runtime.Serialization.StreamingContext context)>>>>{>>>>info.AddValue("customer_id",customer_id);>>>>info.AddValue("am_id_old",am_id_old);>>>>info.AddValue("abc",abc);>>>>info.AddValue("ycbds_old",ycbds_old);>>>>}>>>>#endregion 不明白怎么用Vb.Net表示出来>>>>===========================================================>>>>customer_id,am_id_old,ycbds_old 是该类的属性的 private 变量!it is meaningless to save a datagrid in ViewStateeither always assign the datagrid to the control in your control or save the id of the grid to the control, and then use a FindControl in your code to retrieve it看样子是解决不了了,郁闷阿你调用时传进来一个DataGrid对象了吗?嗬嗬,肯定传进来了阿——在属性设置框中,可是实际上是无法获得的...看看其他属性是否也要修改一下?<NotifyParentProperty(True), Category("其他"), DefaultValue(""), _ Description("相关的Grid"), Bindable(True)> _ Public Property AboutGrid() As System.Web.UI.WebControls.DataGrid '无法获得设置的DataGrid ,提示没有未将对象引用设置到对象的实例... Get EnsureChildControls() Return ViewState("AboutGrid") End Get Set(ByVal Value As System.Web.UI.WebControls.DataGrid) EnsureChildControls() ViewState("AboutGrid") = Value End Set End Property这种控件你可以只读就可以了<NotifyParentProperty(True), PersistenceMode(PersistenceMode.InnerProperty), _ Category("ChildControl"), Description("")> _ Public ReadOnly Property AboutGrid() As System.Web.UI.WebControls.DataGrid Get Me.EnsureChildControls() Return 定义的子控件 End Get End Property可是我还需要对它进行一定的设置阿这样还是可以设置属性的啊不过DATAGRID是子控件啊设置没问题的另外你在CREATE CHILDCONTROLS的时候要进行初始话的啊例如:if datagrid1 is nothing then datagrid1=new datagriddatagrid1.属性设置end if如果还是不行的话,你就把CREATE里面的代码贴出来给我看看呢我没有创建的代码,我的想法很简单,用一个Div装一个DataGrid,然后利用Div的某一个属性绑定到这个DataGrid,然后设置他
标签: