标题模板EXT.NET gridview中的文本框 [英] TextBox in Header Template EXT.NET gridview
问题描述
我想在列的标题中添加一个文本框,并且当其上的按键事件被触发时,我需要使用表单中的函数(而非Java).它必须将textbox.text值传递给该函数.我需要它在gridview中进行搜索.
我将要在过滤器中添加它,如果我可以将事件视为StoreReadDataEventArgs.我 BOLDED vb.net中需要捕获参数的代码.
我怎样才能做到这一点 ?谢谢.
我的代码
Hi,
I want to add a textbox in the header of a column and when keypress event on it is fired i need to use a function (not java) from my form. It must pass the textbox.text value to that fuction.I need it to make a search in the gridview.
I will want to add it in the filter and if i can take the event as StoreReadDataEventArgs . I BOLDED the code in vb.net where i need to catch the parameter.
How can i do that ? Thank you.
My code
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="WebApplication1._Default" %>
<%@ Register assembly="Ext.Net" namespace="Ext.Net" tagprefix="ext" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
var exportData = function (format) {
App.FormatType.setValue(format);
var store = App.GridPanel1.store;
store.submitData(null, { isUpload: true });
};
</script>
</head>
<body>
<form id="form1" runat="server">
<ext:ResourceManager ID="ResourceManager1" runat="server" />
<ext:Hidden ID="FormatType" runat="server" />
<ext:GridPanel ID="GridPanel1" runat="server" Height="400" Title="TESTE">
<Store>
<ext:Store id="Store1" runat="server" RemoteSort="true" buffered="true" PageSize="100" OnReadData="Store_ReadData" önSubmitData="Store1_Submit"
>
<Proxy>
<ext:PageProxy>
<Reader>
<ext:JsonReader Root="data" />
</Reader>
</ext:PageProxy>
</Proxy>
<Model>
<ext:Model runat="server">
<Fields>
<ext:ModelField Name="line_id" Mapping="line_id"></ext:ModelField>
<ext:ModelField Name="cod" Mapping="cod"></ext:ModelField>
<ext:ModelField Name="tva" Mapping="tva"></ext:ModelField>
</Fields>
</ext:Model>
</Model>
<Sorters>
<ext:DataSorter Property="line_id" Direction="ASC" />
</Sorters>
</ext:Store>
</Store>
<ColumnModel runat="server" >
<Columns>
<ext:RowNumbererColumn runat="server" Width="50" Sortable="false"></ext:RowNumbererColumn>
<ext:Column runat="server" Text="line_id" DataIndex="line_id" Sortable="true"></ext:Column>
<ext:Column runat="server" Text="cod" DataIndex="cod" Sortable="true">
<HeaderItems>
<ext:TextField ID="cod" runat="server" EnableKeyEvents="true">
<Listeners>
<KeyUp Handler="#{Store_ReadData}" />
</Listeners>
</ext:TextField>
</HeaderItems>
</ext:Column>
<ext:Column runat="server" Text="tva" DataIndex="tva" Sortable="true"></ext:Column>
</Columns>
</ColumnModel>
<view>
<ext:GridView runat="server" TrackOver="false" ></ext:GridView>
</view>
<SelectionModel>
<ext:RowSelectionModel runat="server" PruneRemoved="false" mode="Multi" ></ext:RowSelectionModel>
</SelectionModel>
<TopBar>
<ext:Toolbar ID="Toolbar1" runat="server">
<Items>
<ext:ToolbarFill ID="ToolbarFill1" runat="server" />
<ext:Button ID="Button1" runat="server" Text="To XML" Icon="PageCode">
<Listeners>
<Click Handler="exportData('xml');" />
</Listeners>
</ext:Button>
<ext:Button ID="Button2" runat="server" Text="To Excel" Icon="PageExcel">
<Listeners>
<Click Handler="exportData('xls');" />
</Listeners>
</ext:Button>
<ext:Button ID="Button3" runat="server" Text="To CSV" Icon="PageAttach">
<Listeners>
<Click Handler="exportData('csv');" />
</Listeners>
</ext:Button>
</Items>
</ext:Toolbar>
</TopBar>
<Features>
<ext:GridFilters runat="server" ID="gridfilters1">
<Filters>
<ext:StringFilter DataIndex="cod" />
<ext:listfilter DataIndex="tva" Options="0,9,24" />
</Filters>
</ext:GridFilters>
</Features>
</ext:GridPanel>
<ext:Label ID="Label2" runat="server" />
</form>
</body>
</html>
和vb.net
and the vb.net
Imports MySql.Data.MySqlClient
Imports Ext.Net
Imports System.Xml.Xsl
Imports System.Xml
Public Class _Default
Inherits System.Web.UI.Page
Public myconnstr As String = "server=81.***.202.***;" _
& "port=3306;" _
& "uid=***;" _
& "pwd=***;" _
& "database=liviuivil;" _
& "Convert Zero Datetime=True;"
Public myreader As MySqlDataReader
Public myconnection As MySqlConnection
Public mycmd As MySqlCommand
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
Protected Sub Store_ReadData(sender As Object, e As StoreReadDataEventArgs)
Try
Dim store As Store = DirectCast(sender, Store)
Dim start As Integer = e.Start
Dim limit As Integer = e.Limit
Dim coloana As String = e.Sort(0).Property.ToString
Dim tipsort As String = e.Sort(0).Direction.ToString
Dim sfilters As String = e.Parameters(gridfilters1.ParamPrefix)
Dim ffiltru As String = "WHERE "
If Not String.IsNullOrEmpty(sfilters) Then
Dim ffc As New FilterConditions(sfilters)
For Each fcond As FilterCondition In ffc.Conditions
Dim fcol As String = fcond.Field
Dim ftype As FilterType = fcond.Type
If fcond.Type = FilterType.String Then
ffiltru = ffiltru + fcol.ToString + "=" + fcond.Value(Of String).ToString + " and "
End If
If fcond.Type = FilterType.List Then
If fcond.List.Count = 1 Then
ffiltru = ffiltru + "(" + fcol.ToString + "=" + fcond.List.Item(0).ToString + ")" + " and "
Else
ffiltru = ffiltru + "("
For i = 0 To fcond.List.Count - 1
ffiltru = ffiltru + fcol.ToString + "=" + fcond.List.Item(i).ToString + " or "
Next
ffiltru = ffiltru.Substring(0, ffiltru.Length - 4) + ") and "
End If
End If
Next
End If
If ffiltru.Length > 6 Then
ffiltru = ffiltru.Substring(0, ffiltru.Length - 4)
Else
ffiltru = ffiltru + "1=1"
End If
Dim zzz As String = e.Parameters("cod")
If Not String.IsNullOrEmpty(zzz) Then
MsgBox(zzz)
End If
Dim hhh As String = "SELECT line_id,cod,tva FROM local_stoc " + ffiltru + " ORDER BY " + coloana + " " + tipsort + " LIMIT " + start.ToString + "," + limit.ToString
Label2.Text = hhh
store.Data = querydbdata("SELECT line_id,cod,tva FROM local_stoc " + ffiltru + " ORDER BY " + coloana + " " + tipsort + " LIMIT " + start.ToString + "," + limit.ToString)
e.Total = querydb("SELECT COUNT(*) FROM local_stoc " + ffiltru)
Catch ex As Exception
End Try
End Sub
Protected Sub Store1_Submit(sender As Object, e As StoreSubmitDataEventArgs)
Dim format As String = Me.FormatType.Value.ToString()
Dim xml As XmlNode = e.Xml
Me.Response.Clear()
Select Case format
Case "xml"
Dim strXml As String = xml.OuterXml
Me.Response.AddHeader("Content-Disposition", "attachment; filename=submittedData.xml")
Me.Response.AddHeader("Content-Length", strXml.Length.ToString())
Me.Response.ContentType = "application/xml"
Me.Response.Write(strXml)
Exit Select
Case "xls"
Me.Response.ContentType = "application/vnd.ms-excel"
Me.Response.AddHeader("Content-Disposition", "attachment; filename=submittedData.xls")
Dim xtExcel As New XslCompiledTransform()
xtExcel.Load(Server.MapPath("/test/Excel.xsl"))
xtExcel.Transform(xml, Nothing, Response.OutputStream)
Exit Select
Case "csv"
Me.Response.ContentType = "application/octet-stream"
Me.Response.AddHeader("Content-Disposition", "attachment; filename=submittedData.csv")
Dim xtCsv As New XslCompiledTransform()
xtCsv.Load(Server.MapPath("/test/Csv.xsl"))
xtCsv.Transform(xml, Nothing, Response.OutputStream)
Exit Select
End Select
Me.Response.[End]()
End Sub
Public Function querydbdata(ByVal xxx As String) As DataTable
Dim mydatatable As New DataTable
Try
myconnection = New MySqlConnection(myconnstr)
Dim myadapter As New MySqlDataAdapter(xxx, myconnection)
myconnection.Open()
myadapter.Fill(mydatatable)
myconnection.Dispose()
Catch ex As Exception
MsgBox(ex.ToString)
' mydatatable.Columns.Add()
' mydatatable.Rows.Add()
' mydatatable.Rows(0)(0) = ex.Message.ToString
End Try
Return mydatatable
End Function
Public Function querydb(ByVal xxx As String) As String
Dim raspuns As String = ""
Try
Dim myconnection As New MySqlConnection(myconnstr)
Dim mycmd As New MySqlCommand(xxx, myconnection)
mycmd.Connection.Open()
raspuns = mycmd.ExecuteScalar()
mycmd.Connection.Dispose()
Catch ex As Exception
raspuns = "Eroare : " + ex.ToString
End Try
Return raspuns
End Function
End Class
推荐答案
I changed the code to :
I changed the code to :
<directevents>
<keyup onevent="add_like"></keyup>
</directevents>
Works like a charm now :))) can have filters + sorting + search in the gridview template :))))))))))
Works like a charm now :))) can have filters + sorting + search in the gridview template :))))))))))
这篇关于标题模板EXT.NET gridview中的文本框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!