2011-11-22 4 views
1

WCF를 통해 채우기, 작성, 삽입, 삭제 gridview에서 어떻게 할 수 있습니까?WCF를 통해 Gridview에서 CRUD 수행

나는 fieldname을 찾을 수 없다는 문제가 있지만 데이터를 얻을 수 있습니다. 내 서비스 코드에

:

[DataContract] 
    public class Pers_Horraire 
    { 
     [DataMember] 
     string _ClientId; 
     public string ClientId 
     { 
      get { return _ClientId; } 
      set { _ClientId = value; } 
     } 

     [DataMember] 
     string _Horraire; 
     public string Horraire 
     { 
      get { return _Horraire; } 
      set { _Horraire = value; } 
     }  
    } 

[OperationContract] 
public IList<Pers_Horraire> Get_Horraire(string CodeCL) 
    { 
     try 
     { 
      using (var connectionWrapper = new Connexion()) 
      { 
       var connectedConnection = connectionWrapper.GetConnected(); 
       //string sql_SelectAll = Outils.LoadFileToString(HttpContext.Current.Server.MapPath("~/SQL/Ordre_Selt.sql")); 
       string sql_SelectAll = "SELECT CLIENT_ID,HORRAIRE FROM LS_CLIENTHORRAIRE WHERE CLIENT_ID = @CLIENT_ID"; 
       SqlCommand comm_SelectAll = new SqlCommand(sql_SelectAll, connectionWrapper.conn); 
       comm_SelectAll.Parameters.AddWithValue("@CLIENT_ID", CodeCL); 
       SqlDataReader readerOne = comm_SelectAll.ExecuteReader(); 

       List<Pers_Horraire> oListOrdr = new List<Pers_Horraire>(); 
       Pers_Horraire obj_Horr = new Pers_Horraire(); 
       while (readerOne.Read()) 
       { 
        obj_Horr.ClientId = readerOne["CLIENT_ID"].ToString(); 
        obj_Horr.Horraire = readerOne["HORRAIRE"].ToString(); 
        oListOrdr.Add(obj_Horr); 
       } 
       readerOne.Close(); 
       readerOne.Dispose(); 
       return oListOrdr; 
      } 
     } 
     catch (Exception excThrown) 
     { 
      throw new Exception(excThrown.Message); 
     } 
    } 

그리고 그리드 소비 : 나는 FieldName="" 허락한다면 그렇게 FieldName="HORRAIRE"을 찾을 수 없습니다

public void GetDataHorr() 
{ 
    try 
    { 
     Service1Client client = new Service1Client(); 

     ASPxGridView_Horraire.DataSource = client.Get_Horraire(Id); 
     ASPxGridView_Horraire.DataBind(); 

     //just to show i get the data from WCF 
     foreach (var oItem in client.Get_Horraire(Id)) 
     { 
      ASPxLabel_err.Text += oItem + "_______"; 
     } 
    } 
    catch (Exception excThrown) 
    { 
     ASPxLabel_err.Text = excThrown.Message + "-->" + excThrown.InnerException; 
    } 
} 

문제를 :

<dx:ASPxGridView ID="ASPxGridView_Horraire" runat="server" 
       KeyFieldName="CLIENT_ID;HORRAIRE" 
       OnRowInserting="Insrting_Horr_Obj" 
       OnRowUpdating="Updting_Horr_Obj" 
       OnRowDeleting="Delt_Horr_Obj" > 
    <Columns> 
     <dx:GridViewCommandColumn VisibleIndex="0" 
            ButtonType="Image"> 
      <DeleteButton Visible="True" 
          Image-Url="../images/Icon/delete-icon.png"> 
       <Image Url="../images/Icon/delete-icon.png"></Image> 
      </DeleteButton> 
      <EditButton Visible="True" 
         Image-Url="../images/Icon/page-edit-icon.png" > 
       <Image Url="../images/Icon/page-edit-icon.png"></Image> 
      </EditButton> 
      <NewButton Visible="True" 
         Image-Url="../images/Icon/Plus-icon.png"> 
       <Image Url="../images/Icon/Plus-icon.png"></Image> 
      </NewButton> 
      <CancelButton Image-Url="../images/Icon/Banned-icon.png"> 
       <Image Url="../images/Icon/Banned-icon.png"></Image> 
      </CancelButton> 
      <UpdateButton Image-Url="../images/Icon/Good-or-Tick-icon.png"> 
       <Image Url="../images/Icon/Good-or-Tick-icon.png"></Image> 
      </UpdateButton> 
      <ClearFilterButton Visible="True" 
           Image-Url="../images/Icon/System-Recyclebin-Empty-icon.png" 
           Image-ToolTip="Effacer Filtre" > 
       <Image ToolTip="Effacer 
         Filtre" Url="../images/Icon/System-Recyclebin-Empty-icon.png"> </Image> 
      </ClearFilterButton> 
     </dx:GridViewCommandColumn> 
     <dx:GridViewDataTextColumn FieldName="HORRAIRE" 
            VisibleIndex="1" 
            Caption="Horraire" Width="10px"> 
     </dx:GridViewDataTextColumn> 
    </Columns> 
</dx:ASPxGridView> 

코드 뒤에 그것은 빈 열을 보여줍니다.

답변

1

난 그냥 문자열의 목록을 반환하는 것 같아요 - 그래서 거기에 ASP (ASP 페이지) 클라이언트에서 FieldNames의 개념이다.

예 : 명명 된

oListOrdr.Add(readerOne["HORRAIRE"].ToString()); 

이 제기은 "Horraire는"단지 문자열이된다.

아마도 사용자 지정 형식을 반환하기 위해 WCF 메서드를 수정할 수 있습니까? 당신이 대답

public class Horraire 
{ 
    public int Client_Id {get;set;} 
    public string Horraire {get;set;} 
} 
+0

감사를

public IList<Horraire> Get_Horraire(string CodeCL) 

. 귀하의 조언에 따라 코드를 수정했지만 불행히도 여전히 작동하지 않습니다. – user609511

관련 문제