请教大家一个问题,我在aspxGridviw中的EditItemTemplate中放了一个AspxCombobox
现在想对AspxCombobox赋值,总提示“未将对象引入的实例” ASPxComboBox cb1 = gv1.FindEditRowCellTemplateControl(gv1.Columns["category1"] as GridViewDataColumn, "cb1") as ASPxComboBox;
string docCat1 = "select id,number,name from d_category_father";
DataSet ds = d1.getDataSet(docCat1);
cb1.DataSource = d1.getDataSet(docCat1);
cb1.DataBind(); 这一行 cb1.DataSource = d1.getDataSet(docCat1);总是提示“未将对象引入的实例”
现在想对AspxCombobox赋值,总提示“未将对象引入的实例” ASPxComboBox cb1 = gv1.FindEditRowCellTemplateControl(gv1.Columns["category1"] as GridViewDataColumn, "cb1") as ASPxComboBox;
string docCat1 = "select id,number,name from d_category_father";
DataSet ds = d1.getDataSet(docCat1);
cb1.DataSource = d1.getDataSet(docCat1);
cb1.DataBind(); 这一行 cb1.DataSource = d1.getDataSet(docCat1);总是提示“未将对象引入的实例”
zengzhan:d1.getDataSet(docCat1) 这个就是ds。caozhy:d1.getDataSet(docCat1),这个绝对是有值的,我单步调试跟踪过。
<dxe:ASPxComboBox ID="cb1" runat="server" ValueField="id"
TextField="name" TextFormatString="{1}" CssPostfix="Aqua" >
<Columns>
<dxe:ListBoxColumn FieldName="number" Caption="编号" Width="40px" />
<dxe:ListBoxColumn FieldName="name" Caption="一级级类目" />
</Columns>
</dxe:ASPxComboBox>
</EditItemTemplate>
<dxwgv:GridViewDataTextColumn FieldName="category1" Caption="category1" >
<EditItemTemplate>
<dxe:ASPxComboBox ID="cb1" runat="server" ValueField="id"
TextField="name" TextFormatString="{1}" CssPostfix="Aqua" Width="100%" >
<Columns>
<dxe:ListBoxColumn FieldName="number" Caption="编号" Width="40px" />
<dxe:ListBoxColumn FieldName="name" Caption="一级类目" />
</Columns>
</dxe:ASPxComboBox>
</EditItemTemplate>
</dxwgv:GridViewDataTextColumn>
是找GridView1还是你用的第三方控件么? 我没看到你说的事件?
return;如果你是用行内编辑,则类型是GridViewRowTypeInlineEdit
return;
--------------------
回楼上,这两句能执行,那怎么解决我的问题啊,谢谢!!
{
if (e.RowType != GridViewRowType.EditForm)
return; ASPxComboBox cb1 = gv1.FindEditRowCellTemplateControl(gv1.Columns["category1"] as GridViewDataColumn, "cb1") as ASPxComboBox;
...
}
你的代码改成上面这样还是取不到值吗?还不行的话把完整的代码贴出来看