即时使用Devexpress ASPxGridView的项目,但有问题与数据填充自定义EditForm。使用Devexpress ASPxGridView为一个项目填充ASPxTextBox和ASPxListBox代码隐藏
它看起来如下
<Templates>
<EditForm>
Company Name:
<dx:ASPxTextBox ID="CompanyName" runat="server" Value="<% #Bind('CompanyName') %>" />
Parent:
<dx:ASPxListBox ID="ParentGuid" runat="server" Value="<% #Bind('ParentGuid') %>" />
</EditForm>
</Templates>
一般情况下我喜欢写东西
protected void ASPxGridView1_StartRowEditing(object sender, DevExpress.Web.Data.ASPxStartRowEditingEventArgs e)
{
var CompanyList = db.companies.OrderBy(x => x.CompanyName).ToList();
ASPxListBox ParentGuid = (ASPxListBox)ASPxGridView1.FindControl("ParentGuid");
ParentGuid.DataSource = CompanyList;
ParentGuid.DataBind();
ASPxTextBox CompanyName = (ASPxTextBox)ASPxGridView1.FindControl("CompanyName");
CompanyName.Text = "Some company name";
}
但是,这不会工作。任何建议从哪里开始?该文档并没有真正覆盖自定义表单:/
谢谢!
== UPDATE ==
使用onhtmleditformcreated = “ASPxGridView1_HtmlEditFormCreated” 与方法
protected void ASPxGridView1_HtmlEditFormCreated(object sender, ASPxGridViewEditFormEventArgs e)
{
Control CompanyName = ASPxGridView1.FindEditFormTemplateControl("CompanyName");
if (CompanyName != null)
{
ASPxTextBox CompanyNameEdit = CompanyName as ASPxTextBox;
CompanyName.Text = "Some Co";
}
}
,我使用值=” <%#Bind的事实( '公司名称')尝试%>“混乱了一点。如果我删除绑定框填充,但是我没有办法获取它们中的数据。任何方式在这个?
发现一个,但没有运气,更新我的片段上面。 – 2011-06-13 10:14:56
更正,但做的工作,但我使用Value =“<%#Bind('CompanyName')%>”的事实弥补了一点。任何方式在这个? – 2011-06-13 10:27:48
如果使用绑定表达式,则不需要直接设置编辑器的值。它应该被自动设置。这是一个这个功能的例子:http://demos.devexpress。COM/ASPxGridViewDemos/GridEditing/TwoWayBinding.aspx – 2011-06-13 11:46:38