如何使用linq to sql将Telerik GridBoundColumn绑定到sql server 2008 xm

本文关键字:sql 绑定 server xm 2008 GridBoundColumn Telerik 何使用 linq to | 更新日期: 2023-09-27 18:04:52

我使用linq-to-sql绑定一个网格,我使用这个绑定网格(因为我将执行CRUD):

protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)               {                         
RadGrid1.DataSource = DbContext.SucursalClienteProveedores;  
}

在我的DB上,我得到了一个名为Contact的列,它是一个Xml数据类型,看起来像这样:

<contacto>
<nombre>Andrés Gutiérrez Hernández</nombre>
<cargo>CEO</cargo>
<telefono1>53-93-75-74</telefono1>
<telefono2>044-55-39-40-96-59</telefono2>
<email>gutierrez.andres@comprobantes.mx</email>
</contacto>

行如下:

FIN020938SVR |123 |FEAR3434 |Holly Molly| |43 | andrsamus gutisamurez hern ndezCEO53-93-75-74044-55-39-40-96-59gutierrez.andres@comprobantes.mx|0 |02/08/2011 12:00:00 a.m.

我试图将GridBoundColumn绑定到节点telefono1,在设计器上我做了以下操作:

 <telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="False"
        CellSpacing="0" GridLines="None" ondeletecommand="RadGrid1_DeleteCommand"
        oninsertcommand="RadGrid1_InsertCommand" onitemcreated="RadGrid1_ItemCreated"
        onneeddatasource="RadGrid1_NeedDataSource"
        onupdatecommand="RadGrid1_UpdateCommand">
<MasterTableView  DataKeyNames="RFC,IDSucursal" CommandItemDisplay="Top" InsertItemPageIndexAction="ShowItemOnCurrentPage">
Columns>
        <telerik:GridBoundColumn  HeaderText="RFC" UniqueName="RFC" DataField="RFCCP">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn HeaderText="Alias" UniqueName="Alias" DataField="NombreComercial">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn HeaderText="Razon Social" UniqueName="razon_social" DataField="RazonSocial">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn HeaderText="TEL" UniqueName="Tel" DataField="Contacto.telefono1" >
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn HeaderText="Email" UniqueName="Email" >
        </telerik:GridBoundColumn>
    </Columns>
         </MasterTableView>
         </telerik:RadGrid>

当然,TEL列它不检索任何值,我可以创建一个linq查询并返回一个IEnumerable接口,但我想知道是否有一个简单的方法,

Thanks in advance

如何使用linq to sql将Telerik GridBoundColumn绑定到sql server 2008 xm

我不知道它是否像普通的XPATH导航,但您可以尝试:

DataField="Contacto/telefono1"

我认为你需要在MasterTableView

上面加上这样的东西
    <telerik:RadAjaxManagerProxy runat="server" ID="RadAjaxManagerProxy1">
          <AjaxSettings>
         <telerik:AjaxSetting AjaxControlID="btnAddCustomer">
            <UpdatedControls>
                <telerik:AjaxUpdatedControl ControlID="RadAjaxPanel1" />
            </UpdatedControls>
          </AjaxSettings>
   </telerik:RadAjaxManagerProxy>

RadGrid应该如下

    <telerik:RadGrid ID="rgLeads" runat="server" Skin="Vista" Width="100%" AllowPaging="true" PageSize="5" AllowCustomPaging="true">

后面的代码
    rgLeads.VirtualItemCount = 'stored proc here
    rgLeads.Rebind()