Dev GridView-Bind Detail Grid during runtime

简介: Here is a simple example.ASPX function OnGetSelectedFieldValues(selectedValues) ...

Here is a simple example.

ASPX

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Test._Default" %>

<%@ Register Assembly="DevExpress.Web.v12.2, Version=12.2.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxGridView" TagPrefix="dx" %>

<%@ Register Assembly="DevExpress.Web.v12.2, Version=12.2.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxEditors" TagPrefix="dx" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form" runat="server">
        <script language="javascript" type="text/javascript">
            function OnGetSelectedFieldValues(selectedValues) {
                alert(selectedValues);
            }
        </script>
        <dx:ASPxGridView ID="grid" ClientInstanceName="grid" runat="server" DataSourceID="masterDataSource"
            KeyFieldName="ID" Width="100%">
            <Columns>
                <dx:GridViewDataColumn FieldName="Name" Caption="名称" />
            </Columns>
            <Templates>
                <DetailRow>
                    <dx:ASPxGridView ID="detailGrid" runat="server" KeyFieldName="ID"
                        Width="100%" ClientInstanceName="dgdv" OnInit="detailGrid_Init">
                        <Columns>
                            <dx:GridViewCommandColumn ShowSelectCheckbox="True">
                                <HeaderTemplate>
                                    <dx:ASPxCheckBox ID="SelectAllCheckBox" runat="server" ToolTip="Select/Unselect all rows on the page"
                                        ClientSideEvents-CheckedChanged="function(s, e) { dgdv.SelectAllRowsOnPage(s.GetChecked()); }" />
                                </HeaderTemplate>
                                <HeaderStyle HorizontalAlign="Center" />
                            </dx:GridViewCommandColumn>
                            <dx:GridViewDataColumn FieldName="Name" Caption="名称" />
                        </Columns>
                        <SettingsBehavior AllowSelectByRowClick="true" />
                    </dx:ASPxGridView>
                </DetailRow>
            </Templates>
            <SettingsDetail ShowDetailRow="true" AllowOnlyOneMasterRowExpanded="true" />
        </dx:ASPxGridView>
        <dx:ASPxButton ID="btnTest" runat="server" Text="Test">
            <ClientSideEvents Click="function(s, e){
                    dgdv.GetSelectedFieldValues('ID', OnGetSelectedFieldValues);
                    e.processOnServer = false;
                }" />
        </dx:ASPxButton>
        <asp:SqlDataSource
            ID="masterDataSource"
            runat="server"
            DataSourceMode="DataReader"
            ConnectionString="<%$ ConnectionStrings:TestConn%>"
            SelectCommand="SELECT * FROM Line"></asp:SqlDataSource>
    </form>
</body>
</html>


CS

using DevExpress.Web.ASPxEditors;
using DevExpress.Web.ASPxGridView;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Test
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void detailGrid_Init(object sender, EventArgs e)
        {
            ASPxGridView dgrid = sender as ASPxGridView;
            if (dgrid == null) return;

            var dataFileId = (int)(sender as ASPxGridView).GetMasterRowFieldValues("ID");
            DataTable table = new DataTable();
            SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["TestConn"].ConnectionString);
            conn.Open();
            SqlCommand cmd = conn.CreateCommand();
            cmd.CommandText = string.Format("select * from Main where LineID={0}", dataFileId);
            SqlDataAdapter sda = new SqlDataAdapter(cmd);
            sda.Fill(table);
            conn.Close();
            dgrid.DataSource = table;
            dgrid.DataBind();
        }
    }
}

 

相关文章
|
5月前
|
JavaScript
Element UI报错:Unknown custom element: <el-menu>
Element UI报错:Unknown custom element: <el-menu>
47 0
Element UI - el-select 同时获取 value 和 label 的值
Element UI - el-select 同时获取 value 和 label 的值
511 0
How to create CDS view to return Service order item detail data
You are asked to create a CDS view which must return the following information of Service order line item.
118 0
How to create CDS view to return Service order item detail data
transaction type popup window when create service order
Created by Wang, Jerry, last modified on Dec 13, 2014
transaction type popup window when create service order
BSP UI Workbench double click component and see view list
BSP UI Workbench double click component and see view list
BSP UI Workbench double click component and see view list
How to add a custom UI component to service order overview page
How to add a custom UI component to service order overview page
How to add a custom UI component to service order overview page
all controls within the same view will share the same data Model
all controls within the same view will share the same data Model
all controls within the same view will share the same data Model
GET_PERS_LIST_4_CONFIG_ID (UI2CL_WD_CFG_UTILS)
Created by Wang, Jerry, last modified on Apr 21, 2015
108 0
GET_PERS_LIST_4_CONFIG_ID (UI2CL_WD_CFG_UTILS)