PDA

View Full Version : [CLOSED] After filtering the data in grid panel, the update and cancel buttons is showing on the top of the row.



Poulami
Jun 11, 2014, 12:09 PM
My grid panel resides inside of ext: Panel of ext: Tab Panel. When I am trying to update a row after applying filter, the update and cancel buttons come in the top of the row. For this, the update and cancel buttons of the first row become disappear behind the grid panel filter row. Please help me to find out the problem. I have attached the picture also.
http://forums.ext.net/attachment.php?attachmentid=12581&stc=1

Thanks

Daniil
Jun 11, 2014, 3:25 PM
Hi @Poulami,

That is strange. The Buttons should not be aligned on top for the first row. Could you, please, provide a test case?

Poulami
Jun 16, 2014, 9:54 AM
Hi @Poulami,

That is strange. The Buttons should not be aligned on top for the first row. Could you, please, provide a test case?

Hi,
I have posted my ext.net code with some dummy data. After selecting the Country Code field with 'A' it will show multiple rows. On a row if you click, you can see the buttons appear on the top.
Below is my .aspx code:--



<%@ Page Language="C#" %>

<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (!X.IsAjaxRequest)
{
this.BindCurrencyGrid();
}
}
private void BindCurrencyGrid()
{
Store store = this.GridPanel1.GetStore();
store.DataSource = this.CurrencyData;
store.DataBind();

Ext.Net.Store StrISOCurrencyCode = this.ComboBox2.GetStore();
StrISOCurrencyCode.DataSource = this.CurrencyComboData;
StrISOCurrencyCode.DataBind();
}
private object[] CurrencyData
{
get
{
DateTime now = DateTime.Now;

return new object[]
{
new object[] {"AED","United Arab Emirates","AE","True",},
new object[] {"AFN","Afghanistan,Afghanis","AF","True",},
new object[] {"ALL","Albania, Leke","AL","False","01/01/1900"},
new object[] {"AMD","Armenia, Drams","AM","True",},
new object[] {"ANG","Netherlands Antilles, Guilders (also called Florins)","AN","True",},
new object[] {"AOA","Angola, Kwanza","AO","True",},
new object[] {"ARA","WEST INDIES DOLLAR","GB","True",},
new object[] {"ARS","Argentina, Pesos","AR","True",},
new object[] {"ATS","AUS. SCHILLING","AT","False","01/01/1999"},
new object[] {"AUD","Australia, Dollars","AU","True",},
new object[] {"AWG","Aruba, Guilders","AW","True",},
new object[] {"AZN","Azerbaijan, New Manats","AZ","True",},
new object[] {"BAM","Bosnia and Herzegovina, Convertible Marka","BA","True",},
new object[] {"BBD","Barbados, Dollars","BB","True",},
new object[] {"BDT","Bangladesh, Taka","BD","True",},
new object[] {"BEF","BELGIAN FRANC","BE","False","03/01/2002"},
new object[] {"BGN","Bulgaria, Leva","BG","True",},
new object[] {"BHD","Bahrain, Dinars","BH","True",},
new object[] {"BIF","Burundi, Francs","BI","True",},
new object[] {"BMD","Bermuda, Dollars","BM","True",},
new object[] {"BND","Brunei Darussalam, Dollars","BN","True",},
new object[] {"BOB","Bolivia, Bolivianos","BO","True",},
new object[] {"BRL","Brazil, Brazil Real","BR","True",},
new object[] {"BSD","Bahamas, Dollars","BS","True",},
new object[] {"BTN","Bhutan, Ngultrum","BT","True",},
new object[] {"BWP","Botswana, Pulas","BW","True",}
};
}
}
private object[] CurrencyComboData
{
get
{
DateTime now = DateTime.Now;

return new object[]
{
new object[] {"AE"},
new object[] {"AF"},
new object[] {"AL"},
new object[] {"AM"},
new object[] {"AN"},
new object[] {"AO"},
new object[] {"GB"},
new object[] {"AR"},
new object[] {"AT"},
new object[] {"AU"},
new object[] {"AW"},
new object[] {"AZ"},
new object[] {"BA"},
new object[] {"BB"},
new object[] {"BD"},
new object[] {"BE"},
new object[] {"BG"},
new object[] {"BH"},
new object[] {"BI"},
new object[] {"BM"},
new object[] {"BN"},
new object[] {"BO"},
new object[] {"BR"},
new object[] {"BS"},
new object[] {"BT"},
new object[] {"BW"}
};
}
}
</script>
<script>


var exportData = function (grid) {

grid.submitData(null, { isUpload: true });
};

</script>
<ext:XScript ID="XScript1" runat="server">

<script>
var applyFilterCurrency = function (field) {

var store = #{GridPanel1}.getStore();

store.filterBy(getRecordFilterCurrency());
};

var applyFilterExchange = function (field) {
var store = #{GridPanel2}.getStore();

store.filterBy(getRecordFilterExchange());
};

var applyFilterCountry = function (field) {
var store = #{GridPanel3}.getStore();

store.filterBy(getRecordFilterCountry());
};

var applyFilterVendor = function (field) {
var store = #{GridPanel4}.getStore();

store.filterBy(getRecordFilterVendor());
};

var clearFilterCurrency = function () {

#{ComboBox1}.reset();
#{DescFilter}.reset();
#{ComboBox2}.reset();
#{ComboBox3}.reset();
#{ExpirationDateFilter}.reset();

#{StrCurrency}.clearFilter();
}

var filterString = function (value, dataIndex, record) {
var val = record.get(dataIndex)
if (val != null) {
val = val.toString();

}

if (typeof val != "string") {
return value.length == 0;
}

return val.toLowerCase().indexOf(value.toString().toLower Case()) > -1;
};

var filterDate = function (value, dataIndex, record) {
var val = record.get(dataIndex)
if (val != null) {
val = Ext.Date.clearTime(record.get(dataIndex), true).getTime();

if (!Ext.isEmpty(value, false) && val != Ext.Date.clearTime(value, true).getTime()) {
return false;
}
return true;

}

if (typeof val != "string") {
return value.length == 0;
}

//
};


var filterNumber = function (value, dataIndex, record) {
var val = record.get(dataIndex);

if (!Ext.isEmpty(value, false) && val != value) {
return false;
}

return true;
};



var getRecordFilterCurrency = function () {
var f = [];

f.push({
filter: function (record) {
return filterString(#{ComboBox1}.getValue()||"", "ISOCurrencyCode", record);

}
});

f.push({
filter: function (record) {
return filterString(#{DescFilter}.getValue(), "ISOCurrencyCodeDescription", record);
}
});

f.push({
filter: function (record) {
return filterString(#{ComboBox2}.getValue()||"", "ISOCountryCode", record);
}
});

f.push({
filter: function (record) {
if (#{ComboBox3}.getValue() != null)
return filterString(#{ComboBox3}.getValue(), "isActive", record);
else
return filterString("", "isActive", record);
}
});

f.push({
filter: function (record) {
return filterDate(#{ExpirationDateFilter}.getValue()||"", "ExpirationDate", record);
}
});


var len = f.length;

return function (record) {
for (var i = 0; i < len; i++) {
if (!f[i].filter(record)) {
return false;
}
}
return true;
};

};



var EditDeleteCurrency = function (grid, command,record) {
// var grid = #{GridPanel1};

var index = grid.store.indexOf(record);
if (command == "Delete") {
if( ! confirm("Delete Row?")) return false;
grid.getStore().remove(record);
App.direct.deleteCurrency(record , {
success : function (result) {
if (!result.deleted) {
Ext.Msg.alert("Error", result.msg);
grid.store.insert(index, record);
return;
}
}
});

}
if (command == "Edit") {
grid.getRowEditor().startEdit(record, 1);

}

};

var addCurrency = function () {

var grid = #{GridPanel1};
grid.editingPlugin.cancelEdit();

// Create a record instance through the ModelManager

grid.store.insert(0, new Currency());
grid.editingPlugin.startEdit(0, 0);
};


var autoSaveCurrency = function () {

var plugin = this.editingPlugin;
if (this.getForm().isValid()) { // save the record
App.direct.autoSaveCurrency(plugin.context.record. phantom, this.getValues(false, false, false, true), {
success : function (result) {
if (!result.saved) {
Ext.Msg.alert("Error", result.msg);
return;
}

plugin.completeEdit();
}
});
}
};

var autoSaveExchange = function () {
var plugin = this.editingPlugin;
if (this.getForm().isValid()) { // save the record
App.direct.autoSaveExchange(plugin.context.record. phantom, this.getValues(false, false, false, true), {
success : function (result) {
if (!result.saved) {
Ext.Msg.alert("Error", result.msg);
return;
}

plugin.completeEdit();
}
});
}
};



</script>

</ext:XScript>
<!DOCTYPE html>
<html>
<head id="Head1" runat="server">
<title>My Page</title>
</head>
<body>
<form id="Form1" runat="server">
<ext:ResourceManager ID="ResourceManager1" runat="server" />
<ext:TabPanel ID="TabPanel1" runat="server" Width="950" EnableTabScroll="true" DeferredRender="false">
<Items>
<ext:Panel ID="Panel1" runat="server" Title="Currency">
<Items>
<ext:GridPanel ID="GridPanel1" runat="server" Title="Currency Grid" Width="950" Height="410">
<ResizableConfig Handles="East" />
<Store>
<ext:Store ID="StrCurrency" runat="server" PageSize="50">
<Model>
<ext:Model ID="MdlCurrency" runat="server" Name="Currency">
<Fields>
<ext:ModelField Name="ISOCurrencyCode" />
<ext:ModelField Name="ISOCurrencyCodeDescription" />
<ext:ModelField Name="ISOCountryCode" />
<ext:ModelField Name="isActive" Type="String" />
<ext:ModelField Name="ExpirationDate" Type="Date" DateFormat="MM/dd/yyyy" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
</Store>
<ColumnModel ID="ColumnModel1" runat="server">
<Columns>
<ext:Column ID="Column1" runat="server" Text="Currency Code" Width="100" DataIndex="ISOCurrencyCode">
<HeaderItems>
<ext:ComboBox ID="ComboBox1" runat="server" TriggerAction="All" QueryMode="Local"
DisplayField="ISOCurrencyCode" ValueField="ISOCurrencyCode">
<Store>
<ext:Store ID="StrISOCurrencyCode" runat="server">
<Model>
<ext:Model ID="MdlISOCurrencyCode" runat="server">
<Fields>
<ext:ModelField Name="ISOCurrencyCode" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
</Store>
<Listeners>
<Change Handler="applyFilterCurrency(this);" Buffer="250" />
</Listeners>
<Plugins>
<ext:ClearButton ID="ClearButton1" runat="server" />
</Plugins>
</ext:ComboBox>
</HeaderItems>
<%-- <Renderer Fn="NavigateCurrency" />
--%>
<Editor>
<ext:TextField ID="TextField1" runat="server" AllowBlank="false" />
</Editor>
</ext:Column>
<ext:Column ID="Column2" runat="server" Text="Description" Width="500" DataIndex="ISOCurrencyCodeDescription"
Flex="1">
<HeaderItems>
<ext:TextField ID="DescFilter" runat="server">
<Listeners>
<Change Handler="applyFilterCurrency(this);" Buffer="250" />
</Listeners>
<Plugins>
<ext:ClearButton ID="ClearButton2" runat="server" />
</Plugins>
</ext:TextField>
</HeaderItems>
<Editor>
<ext:TextField ID="TextField2" runat="server" AllowBlank="false" />
</Editor>
</ext:Column>
<ext:Column ID="Column3" runat="server" Text="Country Code" Width="100" DataIndex="ISOCountryCode">
<HeaderItems>
<ext:ComboBox ID="ComboBox2" runat="server" TriggerAction="All" QueryMode="Local"
DisplayField="ISOCountryCode" ValueField="ISOCountryCode">
<Store>
<ext:Store ID="strISOCountryCode" runat="server">
<Model>
<ext:Model ID="MdlISOCountryCode" runat="server">
<Fields>
<ext:ModelField Name="ISOCountryCode" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
</Store>
<Listeners>
<Change Handler="applyFilterCurrency(this);" Buffer="250" />
</Listeners>
<Plugins>
<ext:ClearButton ID="ClearButton3" runat="server" />
</Plugins>
</ext:ComboBox>
</HeaderItems>
<Editor>
<ext:ComboBox ID="ComboBox16" runat="server" TriggerAction="All" QueryMode="Local"
DisplayField="ISOCountryCode" AllowBlank="false" ValueField="ISOCountryCode"
Editable="false">
<Store>
<ext:Store ID="strEditorISOCountryCode" runat="server">
<Model>
<ext:Model ID="MdlEditorISOCountryCode" runat="server">
<Fields>
<ext:ModelField Name="ISOCountryCode" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
</Store>
</ext:ComboBox>
</Editor>
</ext:Column>
<ext:Column ID="Column4" runat="server" Text="IsActive" Width="75" DataIndex="isActive">
<HeaderItems>
<ext:ComboBox ID="ComboBox3" runat="server" TriggerAction="All" QueryMode="Local">
<Items>
<ext:ListItem Text="true" Value="true" />
<ext:ListItem Text="false" Value="false" />
</Items>
<Listeners>
<Change Handler="applyFilterCurrency(this);" Buffer="250" />
</Listeners>
<Plugins>
<ext:ClearButton ID="ClearButton4" runat="server" />
</Plugins>
</ext:ComboBox>
</HeaderItems>
<Editor>
<ext:ComboBox ID="ComboBox4" runat="server" AllowBlank="false" Editable="false">
<Items>
<ext:ListItem Text="true" Value="true" />
<ext:ListItem Text="false" Value="false" />
</Items>
</ext:ComboBox>
</Editor>
</ext:Column>
<ext:DateColumn ID="DateColumn1" runat="server" Text="Expiration Date" Width="100"
DataIndex="ExpirationDate">
<HeaderItems>
<ext:DateField ID="ExpirationDateFilter" runat="server" Editable="false">
<Listeners>
<Change Handler="applyFilterCurrency(this);" />
</Listeners>
<Plugins>
<ext:ClearButton ID="ClearButton5" runat="server" />
</Plugins>
</ext:DateField>
</HeaderItems>
<Editor>
<ext:DateField ID="DateField1" runat="server" AllowBlank="true" Editable="false" />
</Editor>
</ext:DateColumn>
<ext:Column ID="Column5" runat="server" Width="25" DataIndex="ISOCurrencyCode" Sortable="false"
MenuDisabled="true" Text="&nbsp;" Resizable="false">
<Renderer Handler="return '';" />
<HeaderItems>
<ext:Container ID="Container1" runat="server">
<Items>
<ext:Button ID="ClearFilterButton" runat="server" Icon="Cancel">
<ToolTips>
<ext:ToolTip ID="ToolTip1" runat="server" Html="Clear filter" />
</ToolTips>
<Listeners>
<Click Handler="clearFilterCurrency(null);" />
</Listeners>
</ext:Button>
</Items>
</ext:Container>
</HeaderItems>
</ext:Column>
</Columns>
</ColumnModel>
<Plugins>
<ext:RowEditing ID="RowEditing1" runat="server" ClicksToMoveEditor="1" AutoCancel="false"
SaveHandler="autoSaveCurrency" />
</Plugins>
<SelectionModel>
<ext:RowSelectionModel ID="RowSelectionModel1" runat="server" Mode="Single" />
</SelectionModel>
<View>
<ext:GridView ID="GridView1" runat="server" StripeRows="true" MarkDirty="false" />
</View>
<BottomBar>
<ext:PagingToolbar ID="PagingToolbar1" runat="server" HideRefresh="True">
</ext:PagingToolbar>
</BottomBar>
</ext:GridPanel>
</Items>
</ext:Panel>
</Items>
</ext:TabPanel>
</form>
</body>
</html>

Daniil
Jun 16, 2014, 2:21 PM
The buttons are aligned at the bottom for me.

Please clarify what Ext.NET version are you using?

Poulami
Jun 17, 2014, 9:41 AM
The buttons are aligned at the bottom for me.

Please clarify what Ext.NET version are you using?

I am using version [2.5.0.30649] of ext.net.

Daniil
Jun 17, 2014, 11:10 AM
I am using version [2.5.0.30649] of ext.net.

Is that the official Ext.NET v2.5.0 public release? I cannot reproduce.

Could you try with v2.5.2 or with the latest from SVN?

Poulami
Jun 18, 2014, 10:15 AM
Is that the official Ext.NET v2.5.0 public release? I cannot reproduce.

Could you try with v2.5.2 or with the latest from SVN?

Hi,

I observed that the update and delete button comes on the top of the row only when grid panel does not have any scroll bar. I have posted below grid panel with only 5 rows. If you click on the row you can find the buttons appear on the top. This problem happens only in IE. I have checked with Mozila Firefox and Chrome.Everything is working fine in this two browser.But in IE 8 and 9, I found this issue.Please help me to solve the problem.



<%@ Page Language="C#" %>

<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (!X.IsAjaxRequest)
{
this.BindCurrencyGrid();
}
}
private void BindCurrencyGrid()
{
Store store = this.GridPanel1.GetStore();
store.DataSource = this.CurrencyData;
store.DataBind();

Ext.Net.Store StrISOCurrencyCode = this.ComboBox2.GetStore();
StrISOCurrencyCode.DataSource = this.CurrencyComboData;
StrISOCurrencyCode.DataBind();
}
private object[] CurrencyData
{
get
{
DateTime now = DateTime.Now;

return new object[]
{
new object[] {"AED","United Arab Emirates","AE","True",},
new object[] {"AFN","Afghanistan,Afghanis","AF","True",},
new object[] {"ALL","Albania, Leke","AL","False","01/01/1900"},
new object[] {"AMD","Armenia, Drams","AM","True",},
new object[] {"ANG","Netherlands Antilles, Guilders (also called Florins)","AN","True",},

};
}
}
private object[] CurrencyComboData
{
get
{
DateTime now = DateTime.Now;

return new object[]
{
new object[] {"AE"},
new object[] {"AF"},
new object[] {"AL"},
new object[] {"AM"},
new object[] {"AN"},

};
}
}
</script>
<script>


var exportData = function (grid) {

grid.submitData(null, { isUpload: true });
};

</script>
<ext:XScript ID="XScript1" runat="server">

<script>
var applyFilterCurrency = function (field) {

var store = #{GridPanel1}.getStore();

store.filterBy(getRecordFilterCurrency());
};


var clearFilterCurrency = function () {

#{ComboBox1}.reset();
#{DescFilter}.reset();
#{ComboBox2}.reset();
#{ComboBox3}.reset();
#{ExpirationDateFilter}.reset();

#{StrCurrency}.clearFilter();
}

var filterString = function (value, dataIndex, record) {
var val = record.get(dataIndex)
if (val != null) {
val = val.toString();

}

if (typeof val != "string") {
return value.length == 0;
}

return val.toLowerCase().indexOf(value.toString().toLower Case()) > -1;
};

var filterDate = function (value, dataIndex, record) {
var val = record.get(dataIndex)
if (val != null) {
val = Ext.Date.clearTime(record.get(dataIndex), true).getTime();

if (!Ext.isEmpty(value, false) && val != Ext.Date.clearTime(value, true).getTime()) {
return false;
}
return true;

}

if (typeof val != "string") {
return value.length == 0;
}

//
};


var filterNumber = function (value, dataIndex, record) {
var val = record.get(dataIndex);

if (!Ext.isEmpty(value, false) && val != value) {
return false;
}

return true;
};



var getRecordFilterCurrency = function () {
var f = [];

f.push({
filter: function (record) {
return filterString(#{ComboBox1}.getValue()||"", "ISOCurrencyCode", record);

}
});

f.push({
filter: function (record) {
return filterString(#{DescFilter}.getValue(), "ISOCurrencyCodeDescription", record);
}
});

f.push({
filter: function (record) {
return filterString(#{ComboBox2}.getValue()||"", "ISOCountryCode", record);
}
});

f.push({
filter: function (record) {
if (#{ComboBox3}.getValue() != null)
return filterString(#{ComboBox3}.getValue(), "isActive", record);
else
return filterString("", "isActive", record);
}
});

f.push({
filter: function (record) {
return filterDate(#{ExpirationDateFilter}.getValue()||"", "ExpirationDate", record);
}
});


var len = f.length;

return function (record) {
for (var i = 0; i < len; i++) {
if (!f[i].filter(record)) {
return false;
}
}
return true;
};

};



var EditDeleteCurrency = function (grid, command,record) {
// var grid = #{GridPanel1};

var index = grid.store.indexOf(record);
if (command == "Delete") {
if( ! confirm("Delete Row?")) return false;
grid.getStore().remove(record);
App.direct.deleteCurrency(record , {
success : function (result) {
if (!result.deleted) {
Ext.Msg.alert("Error", result.msg);
grid.store.insert(index, record);
return;
}
}
});

}
if (command == "Edit") {
grid.getRowEditor().startEdit(record, 1);

}

};

var addCurrency = function () {

var grid = #{GridPanel1};
grid.editingPlugin.cancelEdit();

// Create a record instance through the ModelManager

grid.store.insert(0, new Currency());
grid.editingPlugin.startEdit(0, 0);
};


var autoSaveCurrency = function () {

var plugin = this.editingPlugin;
if (this.getForm().isValid()) { // save the record
App.direct.autoSaveCurrency(plugin.context.record. phantom, this.getValues(false, false, false, true), {
success : function (result) {
if (!result.saved) {
Ext.Msg.alert("Error", result.msg);
return;
}

plugin.completeEdit();
}
});
}
};


</script>

</ext:XScript>
<!DOCTYPE html>
<html>
<head id="Head1" runat="server">
<title>My Page</title>
</head>
<body>
<form id="Form1" runat="server">
<ext:ResourceManager ID="ResourceManager1" runat="server" />
<ext:TabPanel ID="TabPanel1" runat="server" Width="950" EnableTabScroll="true" DeferredRender="false">
<Items>
<ext:Panel ID="Panel1" runat="server" Title="Currency">
<Items>
<ext:GridPanel ID="GridPanel1" runat="server" Title="Currency Grid" Width="950" Height="410">
<ResizableConfig Handles="East" />
<Store>
<ext:Store ID="StrCurrency" runat="server" PageSize="50">
<Model>
<ext:Model ID="MdlCurrency" runat="server" Name="Currency">
<Fields>
<ext:ModelField Name="ISOCurrencyCode" />
<ext:ModelField Name="ISOCurrencyCodeDescription" />
<ext:ModelField Name="ISOCountryCode" />
<ext:ModelField Name="isActive" Type="String" />
<ext:ModelField Name="ExpirationDate" Type="Date" DateFormat="MM/dd/yyyy" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
</Store>
<ColumnModel ID="ColumnModel1" runat="server">
<Columns>
<ext:Column ID="Column1" runat="server" Text="Currency Code" Width="100" DataIndex="ISOCurrencyCode">
<HeaderItems>
<ext:ComboBox ID="ComboBox1" runat="server" TriggerAction="All" QueryMode="Local"
DisplayField="ISOCurrencyCode" ValueField="ISOCurrencyCode">
<Store>
<ext:Store ID="StrISOCurrencyCode" runat="server">
<Model>
<ext:Model ID="MdlISOCurrencyCode" runat="server">
<Fields>
<ext:ModelField Name="ISOCurrencyCode" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
</Store>
<Listeners>
<Change Handler="applyFilterCurrency(this);" Buffer="250" />
</Listeners>
<Plugins>
<ext:ClearButton ID="ClearButton1" runat="server" />
</Plugins>
</ext:ComboBox>
</HeaderItems>
<%-- <Renderer Fn="NavigateCurrency" />
--%>
<Editor>
<ext:TextField ID="TextField1" runat="server" AllowBlank="false" />
</Editor>
</ext:Column>
<ext:Column ID="Column2" runat="server" Text="Description" Width="500" DataIndex="ISOCurrencyCodeDescription"
Flex="1">
<HeaderItems>
<ext:TextField ID="DescFilter" runat="server">
<Listeners>
<Change Handler="applyFilterCurrency(this);" Buffer="250" />
</Listeners>
<Plugins>
<ext:ClearButton ID="ClearButton2" runat="server" />
</Plugins>
</ext:TextField>
</HeaderItems>
<Editor>
<ext:TextField ID="TextField2" runat="server" AllowBlank="false" />
</Editor>
</ext:Column>
<ext:Column ID="Column3" runat="server" Text="Country Code" Width="100" DataIndex="ISOCountryCode">
<HeaderItems>
<ext:ComboBox ID="ComboBox2" runat="server" TriggerAction="All" QueryMode="Local"
DisplayField="ISOCountryCode" ValueField="ISOCountryCode">
<Store>
<ext:Store ID="strISOCountryCode" runat="server">
<Model>
<ext:Model ID="MdlISOCountryCode" runat="server">
<Fields>
<ext:ModelField Name="ISOCountryCode" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
</Store>
<Listeners>
<Change Handler="applyFilterCurrency(this);" Buffer="250" />
</Listeners>
<Plugins>
<ext:ClearButton ID="ClearButton3" runat="server" />
</Plugins>
</ext:ComboBox>
</HeaderItems>
<Editor>
<ext:ComboBox ID="ComboBox16" runat="server" TriggerAction="All" QueryMode="Local"
DisplayField="ISOCountryCode" AllowBlank="false" ValueField="ISOCountryCode"
Editable="false">
<Store>
<ext:Store ID="strEditorISOCountryCode" runat="server">
<Model>
<ext:Model ID="MdlEditorISOCountryCode" runat="server">
<Fields>
<ext:ModelField Name="ISOCountryCode" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
</Store>
</ext:ComboBox>
</Editor>
</ext:Column>
<ext:Column ID="Column4" runat="server" Text="IsActive" Width="75" DataIndex="isActive">
<HeaderItems>
<ext:ComboBox ID="ComboBox3" runat="server" TriggerAction="All" QueryMode="Local">
<Items>
<ext:ListItem Text="true" Value="true" />
<ext:ListItem Text="false" Value="false" />
</Items>
<Listeners>
<Change Handler="applyFilterCurrency(this);" Buffer="250" />
</Listeners>
<Plugins>
<ext:ClearButton ID="ClearButton4" runat="server" />
</Plugins>
</ext:ComboBox>
</HeaderItems>
<Editor>
<ext:ComboBox ID="ComboBox4" runat="server" AllowBlank="false" Editable="false">
<Items>
<ext:ListItem Text="true" Value="true" />
<ext:ListItem Text="false" Value="false" />
</Items>
</ext:ComboBox>
</Editor>
</ext:Column>
<ext:DateColumn ID="DateColumn1" runat="server" Text="Expiration Date" Width="100"
DataIndex="ExpirationDate">
<HeaderItems>
<ext:DateField ID="ExpirationDateFilter" runat="server" Editable="false">
<Listeners>
<Change Handler="applyFilterCurrency(this);" />
</Listeners>
<Plugins>
<ext:ClearButton ID="ClearButton5" runat="server" />
</Plugins>
</ext:DateField>
</HeaderItems>
<Editor>
<ext:DateField ID="DateField1" runat="server" AllowBlank="true" Editable="false" />
</Editor>
</ext:DateColumn>
<ext:Column ID="Column5" runat="server" Width="25" DataIndex="ISOCurrencyCode" Sortable="false"
MenuDisabled="true" Text="&nbsp;" Resizable="false">
<Renderer Handler="return '';" />
<HeaderItems>
<ext:Container ID="Container1" runat="server">
<Items>
<ext:Button ID="ClearFilterButton" runat="server" Icon="Cancel">
<ToolTips>
<ext:ToolTip ID="ToolTip1" runat="server" Html="Clear filter" />
</ToolTips>
<Listeners>
<Click Handler="clearFilterCurrency(null);" />
</Listeners>
</ext:Button>
</Items>
</ext:Container>
</HeaderItems>
</ext:Column>
</Columns>
</ColumnModel>
<Plugins>
<ext:RowEditing ID="RowEditing1" runat="server" ClicksToMoveEditor="1" AutoCancel="false"
SaveHandler="autoSaveCurrency" />
</Plugins>
<SelectionModel>
<ext:RowSelectionModel ID="RowSelectionModel1" runat="server" Mode="Single" />
</SelectionModel>
<View>
<ext:GridView ID="GridView1" runat="server" StripeRows="true" MarkDirty="false" />
</View>
<BottomBar>
<ext:PagingToolbar ID="PagingToolbar1" runat="server" HideRefresh="True">
</ext:PagingToolbar>
</BottomBar>
</ext:GridPanel>
</Items>
</ext:Panel>
</Items>
</ext:TabPanel>
</form>
</body>
</html>

Daniil
Jun 18, 2014, 10:52 AM
I observed that the update and delete button comes on the top of the row only when grid panel does not have any scroll bar.

Do you mean that previous test case doesn't reproduce the problem on your side as well?

In any way, I cannot reproduce it again with the new test case.

Could you, please, answer this as well?



I am using version [2.5.0.30649] of ext.net.

Is that the official Ext.NET v2.5.0 public release? I cannot reproduce.

Could you try with v2.5.2 or with the latest from SVN?

Also, is there any chance you can provide us with an online test case?

Poulami
Jun 18, 2014, 2:04 PM
Do you mean that previous test case doesn't reproduce the problem on your side as well?

In any way, I cannot reproduce it again with the new test case.

Could you, please, answer this as well?


Also, is there any change you can provide us with an online test case?

Hi,

There is no changes from the previous test case. Only number of rows are lesser than previous test case. So if you run the previous test case with filters you should be able to reproduce that . Note the filters record set should be less then or equal to 2-3. If you click on the first row you will not be able to see the Update/Cancel button .
12791
We have modified the test case so that you can directly get the issue which we are facing.

I am using official version [2.5.0.30649] of ext.net.
Can you please confirm me on which version you are still not able to reproduce the issue so that we can use the same

Daniil
Jun 18, 2014, 2:24 PM
Ok, thank you for the details.

For some reason, I cannot reproduce the problem with both the test cases.



Can you please confirm me on which version you are still not able to reproduce the issue so that we can use the same

I tried with the v2.5.0 official release and with the latest sources.

Any chance for that?

Also, is there any chance you can provide us with an online test case?