Jan 17, 2014, 2:03 AM
Column Locking not working when using dynmic load grid
Hi there,
I have two problem .
1. Column Locking not working
2. when use compatibility view can't see the page , but if remove Store1 it's work well
this is my code, please take a look.
I have two problem .
1. Column Locking not working
2. when use compatibility view can't see the page , but if remove Store1 it's work well
this is my code, please take a look.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test2.aspx.cs" Inherits="Module_AanalysisReport_ActivityReportReport" %>
<!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 id="Head1" runat="server">
<title></title>
<script language="javascript" type="text/javascript" src="../../js/FusionCharts/FusionCharts.js"></script>
<script type="text/javascript">
function getRowClass(record) {
if (record.data.TITLE == 'DATE') {
return "DateRow";
}
if (record.data.isCompare == '1') {
return "CompareRow";
}
}
var showHighLight = function (grid) {
var views = grid.getSelectionModel().views;
for (var i = 0; i < views.length; i++) {
showRowDock(views[i].getSelectedNodes()[0]);
}
grid.getSelectionModel().deselectAll();
};
var showRowDock = function (obj) {
for (r = obj.firstChild; r != null; r = r.nextSibling) {
if (r.style.backgroundColor == "gold") {
r.style.backgroundColor = r.style.DefaultBackgroundColor;
}
else {
r.style.DefaultBackgroundColor = r.style.backgroundColor;
r.style.backgroundColor = "gold";
}
}
};
</script>
<style type="text/css">
.TotalTitle
{
background-color: #F9F98C;
}
.Title
{
text-align: center;
}
.DateRow .x-change-cell
{
background-color: #AFD6FF;
}
.CompareRow .x-change-cell
{
background-color: #FEFFAF;
border-bottom: 1px solid black;
}
.lower80Row .x-change-cell
{
background-color: #FFCDE5;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<ext:ResourceManager ID="ResourceManager1" runat="server">
</ext:ResourceManager>
<div>
<ext:Viewport ID="Viewport1" runat="server" Layout="BorderLayout">
<Items>
<ext:Toolbar ID="Toolbar1" runat="server" Region="North">
<Items>
<ext:Button ID="btnGo" Text="GO" runat="server" Icon="NextBlue">
<DirectEvents>
<Click OnEvent="btnGo_ClickEvent" Timeout="999999">
<EventMask ShowMask="true" />
</Click>
</DirectEvents>
</ext:Button>
</Items>
</ext:Toolbar>
<ext:TabPanel ID="TabPanel1" runat="server" Region="Center">
<Items>
<ext:GridPanel ID="gpbAll" runat="server" Title="ALL" Header="true" Border="true"
EmptyText="no data." Region="Center">
<View>
<ext:GridView EmptyText="no data." runat="server" ID="gdView">
<GetRowClass Fn="getRowClass" />
</ext:GridView>
</View>
<LockedView>
<ext:GridView runat="server" ID="testLockView">
</ext:GridView>
</LockedView>
<Listeners>
<ItemDblClick Fn="showHighLight" />
</Listeners>
<BottomBar>
<ext:PagingToolbar ID="PagingToolbar1" runat="server" DisplayInfo="true" EmptyMsg="No data."
DisplayMsg="Displaying." />
</BottomBar>
<Store>
<ext:Store ID="Store1" PageSize="300" runat="server" AutoLoad="false">
<Model>
<ext:Model ID="Model1" runat="server" />
</Model>
</ext:Store>
</Store>
</ext:GridPanel>
</Items>
</ext:TabPanel>
</Items>
</ext:Viewport>
</div>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Ext.Net;
using System.Data;
public partial class Module_AanalysisReport_ActivityReportReport : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnGo_ClickEvent(object sender, DirectEventArgs e)
{
DataTable dataTable = getDatetable();
if (dataTable.Rows.Count > 0)
{
LoadDynamicGrid(dataTable, Store1, gpbAll);
}
else
{
gpbAll.Refresh();
}
}
private void LoadDynamicGrid(DataTable dataTable, Store store1, GridPanel grid)
{
Ext.Net.ColumnCollection Collection = new ColumnCollection();
foreach (DataColumn column in dataTable.Columns)
{
ModelField modeField = new ModelField();
modeField.Name = column.ColumnName;
modeField.Type = ModelFieldType.String;
Column extcolumn = new Column();
extcolumn.Align = Alignment.Center;
extcolumn.Text = column.ColumnName;
extcolumn.DataIndex = column.ColumnName;
extcolumn.TdCls = "x-change-cell";
store1.AddField(modeField);
extcolumn.Sortable = false;
Collection.Add(extcolumn);
}
grid.EnableLocking = true;
foreach (Column column in Collection)
{
if (column.Text == "test1")
{
column.Lockable = true;
column.Locked = true;
}
}
store1.RebuildMeta();
store1.DataSource = dataTable.DefaultView;
store1.DataBind();
grid.ColumnModel.Columns.Add(Collection);
if (X.IsAjaxRequest)
{
grid.Reconfigure();
}
}
private DataTable getDatetable()
{
DataTable table = new DataTable();
table.Columns.Add("test1", typeof(String));
table.Columns.Add("test2", typeof(String));
table.Columns.Add("test3", typeof(String));
table.Columns.Add("test4", typeof(String));
table.Rows.Add("aaa", "bbb", "ccc", "dddd");
table.Rows.Add("aaa1", "bbb", "ccc", "dddd");
table.Rows.Add("aaa2", "bbb", "ccc", "dddd");
table.Rows.Add("aaa3", "bbb", "ccc", "dddd");
table.Rows.Add("aaa", "bbb", "ccc", "dddd");
table.Rows.Add("aaa1", "bbb", "ccc", "dddd");
table.Rows.Add("aaa2", "bbb", "ccc", "dddd");
table.Rows.Add("aaa3", "bbb", "ccc", "dddd");
return table;
}
}
Last edited by Daniil; Jan 29, 2014 at 4:54 AM.
Reason: dynmic => dynamic