Google & Telerik 포럼을 검색했지만 해결책을 찾지 못했습니다.radGrid 컨트롤이 날짜 매개 변수가 변경된 후 빈 격자를 표시합니다.
RadGrid 컨트롤을 채우는 저장 프로 시저를 호출하는 기존 응용 프로그램 (이전 개발자가 작성)이 있습니다. 처음으로 잘 채 웁니다.
그러나 날짜 매개 변수를 변경하고 "검색"버튼을 클릭하면 빈 RadGrid 컨트롤이 나타납니다. 두 번째로 검색을 클릭하면 표가 채워집니다. 코드를 살펴볼 때 오류 메시지가 표시됩니다.
'ID'열이 테이블 테이블에 속하지 않습니다.
데이터를 표시하기 위해 검색을 두 번 클릭해야하는 문제를 어떻게 해결할 수 있습니까?
내 코드 뒤에입니다 : 코드에서
protected void btnSubmit_OnClick(object sender, EventArgs e)
{
try
{
ViewState["newset"] = null;
CreateDatasource();
this.RadGrid1.DataBind();
this.RadGrid1.CurrentPageIndex = 0;
ViewState["newset"] = "new";
string idex = this.hdnindex.Value;
if (idex != string.Empty)
this.RadGrid1.MasterTableView.Items[int.Parse(idex)].Selected = true;
}
catch (Exception ex) {
this.lblMessage.Text = ex.Message;
}
}
protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e)
{
try
{
if (e.Item is GridDataItem)
{
GridDataItem item = (GridDataItem)e.Item;
HyperLink hLink = (HyperLink)item["ViewHyperLink"].Controls[0];
if (hLink != null)
hLink.Attributes.Add("onclick", "selectMe('" + item.ItemIndex + "');");
}
}
catch (Exception ex)
{
this.lblMessage.Text = ex.Message;
}
}
뒤에 위, this.RadGrid1.DataBind()가 호출 될 때 if 문을 통해 RadGrid1_ItemCreated
루프에 코드 단계를 몇 번, 그들로 전환 if 문이 함수에서 나온 다음 btnSubmit의 catch 문이 호출되어 "열 ID가 테이블 테이블에 속하지 않습니다"라는 오류 메시지가 표시됩니다.
해결 방법에 대한 아이디어가 있으십니까?
그런 예외 메시지가 있으면 RadGrid와 데이터 소스간에 바인딩 문제가있는 것처럼 들립니다. –
답변 해 주셔서 감사합니다. 확장 할 수 있습니까 (또는 제안 사항이 있습니까)? 나는 내가 생각할 수있는 바인딩의 모든 방법을 시도했다. – Csharp
저장 프로 시저와 RadGrid를 채우는 논리를 포함 할 수 있습니까? –