메신저에 프로젝트 용 Devexpress ASPxGridView를 사용하지만 사용자 정의 EditForm에 데이터를 채우는 데 문제가 있습니다.코드에서 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 ==있어서
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";
}
}
I는 값 = "<% #Bind 사용 사실 ('회사 명을')와 onhtmleditformcreated ="ASPxGridView1_HtmlEditFormCreated "를 사용하여 시도
%> "조금 뒤죽박죽입니다. Bind를 제거하면 상자에 데이터가 채워지지만 데이터를 가져올 방법이 없습니다. 이 주변의 어떤 방법?
편집자 속성을 설정 HtmlEditFormCreated 이벤트를 사용
운이 없다는 것을 발견했지만 위의 스 니펫을 업데이트했습니다. –
수정, 그게 효과가 있지만 사실은 내가 사용하는 사실 = "<% #Bind ('CompanyName') %>"조금 뒤죽박죽. 이 주변의 어떤 방법? –
바인딩 표현식을 사용하는 경우 편집기의 값을 직접 설정할 필요가 없습니다. 자동으로 설정해야합니다. 다음은이 기능의 예입니다. http : //demos.devexpress.com/ASPxGridViewDemos/GridEditing/TwoWayBinding.aspx –