ASPxGridView通常是对DevExpress提供的ASPxGridView的引用。它是DevExpress Inc.为支持ASP.Net WebForms提供的主要产品之一。
使用 C# 在 ASP.NET 中使用 GridView 实现注册卖家页面
我想在asp中创建一个注册卖家页面gridview,c#我有一个注册页面,用户在其中输入他的详细信息并将详细信息添加到数据库中,现在我想要执行...
从数据集中选择特定行后无法将其绑定到 gridview 控件
我通过以下方式将数据集分配给 gridview 数据源属性: if (subCategId == "20") { grdPHPortion.DataSource = _ds.Tables[0].
还有另一种有效的方法将数据更新到gridview内的数据库吗?
所以我在这里所做的是将gridview内的数据插入和更新到数据库的过程。我在更新时遇到了一些问题。当我将数据插入多个...
尝试单击 gridview 行时发生 JavaScript 错误
我在服务器端(VB.net)的 devexpress gridview 的行中添加了一个单击事件。 受保护的子 gvSubNotes_HtmlRowPrepared(发送者作为对象,e 作为 ASPxGridViewTableRowEventArgs) e.行。
我试图有条件地隐藏 Gridview 中的模板列,我尝试了以下方法,但这不起作用。有没有办法在 .aspx 中执行此操作? 我试图有条件地隐藏 Gridview 中的模板列,我尝试了以下方法,但这不起作用。有没有办法在 .aspx 中做到这一点? <asp:TemplateField HeaderText="Grade" SortExpression="grade" Visible='<%# Convert.ToDouble(Eval("grade")) == 0 ? true : false %>'> <ItemTemplate> <%# string.Format("{0:0.#}", Convert.ToDouble(Eval("grade"))) %> </ItemTemplate> </asp:TemplateField> 您可以使用 itemDataBound 事件执行所有条件格式设置(颜色、隐藏等)。但是,您的示例标记似乎没有控件 - 并且您希望拥有该信息的控件。该控件应该有某种“id”或名称,您可以在代码中引用。 但是,由于您没有提供太多标记?然后我给出了单元格集合和您可能拥有的控件的示例。 所以,假设我们有这个简单的网格视图。请注意最后两个字段都是 City,一个是绑定字段(通常很常见),另一个是标签(但可以是文本框或任何 ASP.NET 控件)。 <asp:GridView ID="GridView1" runat="server" CssClass="table-hover" AutoGenerateColumns="False" DataKeyNames="ID"> <Columns> <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True" SortExpression="ID" /> <asp:BoundField DataField="FirstName" HeaderText="FirstName" SortExpression="FirstName" /> <asp:BoundField DataField="LastName" HeaderText="LastName" SortExpression="LastName" /> <asp:BoundField DataField="HotelName" HeaderText="HotelName" SortExpression="HotelName" /> <asp:BoundField DataField="City" HeaderText="City" SortExpression="City" /> <asp:TemplateField HeaderText ="City2"> <ItemTemplate> <asp:Label ID="lblCity" runat="server" Text = '<%# Eval("City") %>' >'<"></asp:Label> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> 好的,在页面加载时,我们使用以下代码加载上面的网格: protected void Page_Load(object sender, System.EventArgs e) { if (IsPostBack == false) LoadGrid(); } public void LoadGrid() { using (SqlCommand cmdSQL = new SqlCommand("SELECT ID, FirstName, LastName, HotelName, City from tblHotels", new SqlConnection(My.Settings.TEST3))) { cmdSQL.Connection.Open(); GridView1.DataSource = cmdSQL.ExecuteReader; GridView1.DataBind(); } } 好的,我们得到这个输出: 现在,让我们根据城市隐藏一列。我们说 City =“Edmonton”,我们隐藏控件。 因此,您使用 itemData 绑定事件。 在此示例中,我有绑定字段(单元格)集合隐藏示例,以及如何使用模板化控件(查找控件)执行此操作。 所以,代码是这样的: protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { GridViewRow gvRow = e.Row; // hide a Bound field TableCell f = gvRow.Cells(4); if (f.Text == "Edmonton") f.Style("Display") = "none"; // hide a templated control Label lbl = gvRow.FindControl("lblCity"); if (lbl.Text == "Edmonton") lbl.Style("Display") = "none"; } } 现在的输出是这样的: 还没有尝试过,但看起来很有希望:)
我想从行按钮的onclick事件中获取行的列值(并进行查询操作)。我怎样才能做到这一点 ?当按下 btnAktar 时,我想获取该行中的 Meslek 列的值。那...
我有一个数据表。表格第一列是按钮;按钮上有一个 onclick 事件。另一列是公司名称,我想设置所选行的第一行表单部分的 txtFirm 名称字段...
我有一个数据表。表格第一列是按钮;按钮上有一个 onclick 事件。另一列是公司名称,我想设置所选行的第一行表单部分的 txtFirm 名称字段...
我想向数据网格对象添加一个按钮列。我将数据表填充到 aspx.cs 文件中。我们的框架是.Net Webform结构。我怎样才能做到这一点?我的网格如下: 我想向数据网格对象添加一个按钮列。我将数据表填充到 aspx.cs 文件中。我们的框架是.Net Webform结构。我怎样才能做到这一点?我的网格如下: <div id="divSGKTecrube" runat="server"> <iskurControls:IskurGridView runat="server" ID="ctlGridSgkTecrube" AutoGenerateColumns="False" EmptyDataText="Tecrübe Bilginiz Bulunmamaktadır." EnableViewState="true" CssClass="table table-bordered table-condensed text-small"> <Columns> <asp:BoundField DataField="ISYERISICILNO" HeaderText="İşyeri Sicil No"> <HeaderStyle HorizontalAlign="Left" /> </asp:BoundField> <asp:BoundField DataField="ISYERIADI" HeaderText="İşyeri Adı"> <HeaderStyle HorizontalAlign="Left" /> </asp:BoundField> <asp:BoundField DataField="MESLEKKODU" HeaderText="Meslek Kodu"> <HeaderStyle HorizontalAlign="Left" /> </asp:BoundField> <asp:BoundField DataField="MESLEK" HeaderText="Meslek"> <HeaderStyle HorizontalAlign="Left" /> </asp:BoundField> <asp:BoundField DataField="SURE" HeaderText="Süre"> <HeaderStyle HorizontalAlign="Right" /> </asp:BoundField> <asp:BoundField DataField="BASLANGICTARIHI" HeaderText="Baş Tar"> <HeaderStyle HorizontalAlign="Right" /> </asp:BoundField> <asp:BoundField DataField="BITISTARIHI" HeaderText="Bit Tar"> <HeaderStyle HorizontalAlign="Right" /> </asp:BoundField> </Columns> <PagerStyle CssClass="grid-PagerStyle"></PagerStyle> <SelectedRowStyle CssClass="grid-SelectedRowStyle"></SelectedRowStyle> <HeaderStyle CssClass="grid-HeaderStyle"></HeaderStyle> <EditRowStyle CssClass="grid-EditRowStyle"></EditRowStyle> <AlternatingRowStyle CssClass="grid-AlternatingRowStyle"></AlternatingRowStyle> <FooterStyle CssClass="grid-FooterStyle"></FooterStyle> <RowStyle CssClass="grid-RowStyle"></RowStyle> <EmptyDataRowStyle CssClass="grid-EmptyRow" /> </iskurControls:IskurGridView> <div style="text-align: center"> <kaleCustomControls:DataPager ID="DataPager1" runat="server" VisibleIfNoNeed="False" PagerButtons="NextPrevious" /> </div> </div> 如何将按钮列添加到网格中: <Columns> <asp:TemplateField HeaderText="Actions"> <ItemTemplate> <asp:Button ID="btnEdit" runat="server" Text="Edit" CommandName="EditRow" /> </ItemTemplate> </asp:TemplateField> </Columns> 在您的 aspx.cs 文件中,您需要处理命令。您可以使用 IskurGridView 的 RowCommand 事件来执行此操作: protected void ctlGridSgkTecrube_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "EditRow") { // Handle edit logic int rowIndex = Convert.ToInt32(e.CommandArgument); // Access data for the selected row } else if (e.CommandName == "DeleteRow") { // Handle delete logic int rowIndex = Convert.ToInt32(e.CommandArgument); // Delete data for the selected row } } 记住将 RowCommand 事件处理程序添加到您的 IskurGridView: <iskurControls:IskurGridView runat="server" ID="ctlGridSgkTecrube" AutoGenerateColumns="False" OnRowCommand="ctlGridSgkTecrube_RowCommand" <!-- ... --> > <!-- Columns definition --> </iskurControls:IskurGridView>
Javascript - 维护屏幕位置无法加载动作背后的代码
使用以下代码保留屏幕位置 变量 xPos, yPos; var prm = Sys.WebForms.PageRequestManager.getInstance(); prm.add_beginRequ ...</desc> <question vote="3"> <p>使用以下代码保留屏幕位置</p> <pre><code><script type="text/javascript"> var xPos, yPos; var prm = Sys.WebForms.PageRequestManager.getInstance(); prm.add_beginRequest(BeginRequestHandler); prm.add_endRequest(EndRequestHandler); function BeginRequestHandler(sender, args) { xPos = $get('#UpdatePanel_1').scrollLeft; yPos = $get('#UpdatePanel_1').scrollTop; } function EndRequestHandler(sender, args) { $get('#UpdatePanel_1').scrollLeft = xPos; $get('#UpdatePanel_1').scrollTop = yPos; } </script> </code></pre> <p>如以下链接所述 <a href="https://weblogs.asp.net/andrewfrederick/maintain-scroll-position-after-asynchronous-postback" rel="nofollow noreferrer">https://weblogs.asp.net/andrewfrederick/maintain-scroll-position-after-asynchronous-postback</a></p> <p>但是在使用上面的代码之后,我的动作背后的代码停止工作了。</p> <p>任何建议都会非常有帮助。</p> <blockquote> <p>ASPX代码</p> </blockquote> <pre><code><%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" MaintainScrollPositionOnPostback="True" %> </code></pre> <pre><code><%--<link type="text/css" href="css/ui-lightness/jquery-ui-1.8.19.custom.css" rel="stylesheet" /> <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>--%> <link href="bootstrap/css/bootstrap.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/js/toastr.min.js"></script> </code></pre> <pre><code> <asp:ScriptManager ID="ScriptManager1" runat="server" /> <script type="text/javascript"> var xPos, yPos; var prm = Sys.WebForms.PageRequestManager.getInstance(); prm.add_beginRequest(BeginRequestHandler); prm.add_endRequest(EndRequestHandler); function BeginRequestHandler(sender, args) { xPos = $get('divScroll').scrollLeft; yPos = $get('divScroll').scrollTop; } function EndRequestHandler(sender, args) { $get('divScroll').scrollLeft = xPos; $get('divScroll').scrollTop = yPos; } </script> <asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel_1"> <ProgressTemplate> <div class="modal_1"> <div class="center"> <img alt="" src="Loader.gif" /> </div> </div> </ProgressTemplate> </asp:UpdateProgress> <asp:UpdatePanel runat="server" ID="UpdatePanel_1"> <ContentTemplate> <div class="divScroll"> <div class="container"> <div class="row"> <div class="col-md-3"> <div class="CustomDiv"> Gender </div> </div> <div class="col-md-3"> <div class="CustomDiv"> <asp:TextBox ID="txtGender" runat="server" Height="40px" Width="100%"></asp:TextBox> </div> </div> <div class="col-md-3"> <div class=""> <asp:CheckBox ID="chkNotKnown" runat="server" AutoPostBack="True" Text="&nbsp;&nbsp;(Not Known)" Font-Bold="False" /> </div> </div> <div class="col-md-3"> <div class="cssErrorMsg"> <asp:RequiredFieldValidator ID="rfvGender" runat="server" ControlToValidate="txtGender" ErrorMessage="Gender Required" InitialValue="" BackColor="Yellow"></asp:RequiredFieldValidator> </div> </div> </div> </div> </div> </ContentTemplate> <Triggers> <%--<asp:PostBackTrigger ControlID = "txtGender" />--%> </Triggers> </asp:UpdatePanel> </div> </form> </code></pre> <blockquote> <p>Vb.Net 代码</p> </blockquote> <pre><code>Partial Class _Default Inherits System.Web.UI.Page Protected Sub chkNotKnown_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles chkNotKnown.CheckedChanged With txtGender If chkNotKnown.Checked Then .Text = "Not Known" .Enabled = False Else .Text = "" .Enabled = True End If .Focus() End With End Sub End Class </code></pre> <p>我有几个从服务器检索数据的控件,但我只是展示了一个简单的代码示例以供参考。</p> <p>注释/删除上面的 JS 将使代码隐藏操作运行。否则点击 chkNotKnown 复选框将不会触发事件。</p> <p><strong>反馈 1</strong></p> <p>尝试了所有建议,JS 代码仍然没有保留屏幕位置。我想知道它是如何在提供的链接中为其他人工作的:(。</p> <p><strong>反馈2</strong></p> <p>最后我结束了使用下面的 JS</p> <blockquote> <p>在 ASPX 代码页中</p> </blockquote> <pre><code><script type="text/javascript"> var xPos, yPos, needScroll; var prm = Sys.WebForms.PageRequestManager.getInstance(); prm.add_beginRequest(BeginRequestHandler); prm.add_pageLoaded(EndRequestHandler) function BeginRequestHandler(sender, args) { xPos = 0; yPos = window.pageYOffset || document.documentElement.scrollTop; } function EndRequestHandler(sender, args) { if (needScroll) { window.setTimeout("window.scrollTo(" + xPos + "," + yPos + ")", 100); } } </script> </code></pre> <blockquote> <p>在代码隐藏页面加载事件中</p> </blockquote> <pre><code>ScriptManager.RegisterStartupScript(Me.Page, Me.Page.GetType(), "ScrollTo", "var needScroll = true;", True) </code></pre> <blockquote> <p>来源链接</p> </blockquote> <p><a href="https://www.c-sharpcorner.com/blogs/maintain-or-set-page-scroll-position-after-asynchronous-postback-in-asp-net-ajax" rel="nofollow noreferrer">https://www.c-sharpcorner.com/blogs/maintain-or-set-page-scroll-position-after-asynchronous-postback-in-asp-net-ajax</a></p> </question> <answer tick="false" vote="1"> <p><strong>注意:</strong> 在您的代码中有两个不同的<em>BeginRequestHandler 函数</em>,</p> <ol> <li><pre><code>on top</code></pre>你正在使用<pre><code>update panel id</code></pre>和</li> </ol> <blockquote> <pre><code>function BeginRequestHandler(sender, args) { xPos = $get('#UpdatePanel_1').scrollLeft; yPos = $get('#UpdatePanel_1').scrollTop; } </code></pre> </blockquote> <ol start="2"> <li><pre><code>on bottom code</code></pre>你正在使用<pre><code>div class name</code></pre>.</li> </ol> <blockquote> <pre><code>function BeginRequestHandler(sender, args) { xPos = $get('divScroll').scrollLeft; yPos = $get('divScroll').scrollTop; } </code></pre> </blockquote> <p><strong>问题是什么:</strong></p> <blockquote> <p>错误显示为 <em>无法读取 null 的属性(读取“scrollLeft”)</em></p> </blockquote> <p><strong>问题原因:</strong></p> <blockquote> <p><pre><code>id</code></pre> 用于变量 <em>xPos</em> 和 <em>yPos</em> 返回 null.</p> </blockquote> <p><strong>解决方案一:</strong></p> <p>如果你想使用<pre><code>update panel id</code></pre>然后试试这个</p> <p>从 ID 开始删除#:</p> <pre><code>$get('#UpdatePanel_1').scrollLeft; </code></pre> <p>像这样使用它:</p> <pre><code>$get('UpdatePanel_1').scrollLeft; </code></pre> <p><strong>解决方案2:</strong></p> <p>如果你想使用<pre><code>div id</code></pre>然后试试这个</p> <p>将 id 添加到您的 div.</p> <p>HTML:</p> <pre><code><div class="divScroll" id="divScroll"> </code></pre> <p>JavaScript:</p> <pre><code>function BeginRequestHandler(sender, args) { xPos = $get('divScroll').scrollLeft; yPos = $get('divScroll').scrollTop; } </code></pre> </answer> <answer tick="false" vote="0"> <p>正如您提到的,您的代码隐藏操作在添加 JS 代码后不起作用。 可能的原因是:</p> <p>1.使用文档准备好后执行的js代码块 2.$get 不适用于搜索元素使用 $("#ID") 或 javascript 'document.getElementById'</p> <pre><code> <script type="text/javascript"> var xPos, yPos; $( document ).ready(function() { var prm = Sys.WebForms.PageRequestManager.getInstance(); prm.add_beginRequest(BeginRequestHandler); prm.add_endRequest(EndRequestHandler); }); function BeginRequestHandler(sender, args) { xPos = document.getElementById('divScroll').scrollLeft; yPos = document.getElementById('#divScroll').scrollTop; } function EndRequestHandler(sender, args) { document.getElementById('#divScroll').scrollLeft = xPos; document.getElementById('#divScroll').scrollTop = yPos; } </script> </code></pre> </answer> <answer tick="false" vote="0"> <p>请像这样添加更新面板的属性<a href="https://learn.microsoft.com/en-us/dotnet/api/system.web.ui.control.clientidmode?view=netframework-4.8.1" rel="nofollow noreferrer">ClientIdMode</a>:</p> <pre><code><asp:UpdatePanel runat="server" ID="UpdatePanel_1" ClientIdMode="Static"> </code></pre> <p>如果您不这样做,Asp.NET Web 窗体会在 ID 属性值中添加一个动态后缀(如 GUID 数字),您的 JavaScript 代码将永远无法识别呈现的 HTML ID 属性值<pre><code>#UpdatePanel_1</code></pre></p> </answer> </body></html>
Devexpress ASPxGridView BatchUpdate - 从 c# 每个单元格更新中更新特定值
我正在使用 Devexpress ASPxGridView BatchUpdate 使用更新查询 更新工单表 设置数量 = @Qty, JobStatusID = @JobStatusID WHERE (WorkOrderRowIndex = @WorkOrderRowIndex) @Qty 会...
我们已经创建了带有 gridview 和数据库数据绑定的网页: 现在我想在数字列中添加一个超链接,以便我可以重定向到其他网站。下面是...
您好,我已经使用 gridview 创建了一个表。 有没有办法实现编辑和删除。 我以前用 PHP 做过。我想使用的方法是在表中再创建两列 e...
获取错误,同时尝试使用 API 并在 ASP.NET Webform 的 gridview 中显示内容
错误:目标类型 System.Collections.IEnumerable 不是值类型或非抽象类。参数名称:目标类型。 我试图使用以下 gridview 和 C# 函数来使用 Web API 端点...
我是 C# 的新手,我被困在一个点上,我想根据正在填充的数据在 .aspx 视图中添加一个换行符。 请在下面找到我的代码: 我是 C# 的新手,我被困在一个点上,我想根据正在填充的数据在 .aspx 视图中添加一个换行符。 请在下面找到我的代码: <asp:GridView ID="SupGridView" runat="server" AutoGenerateColumns="False" CssClass="gridView" AllowPaging="true" PageSize="10" OnRowDataBound="OnRowDataBound" OnPageIndexChanging="OnPageIndexChanging" OnSelectedIndexChanged="OnSelectedIndexChanged"> <Columns> <asp:TemplateField HeaderText="Last Name, First Name" ItemStyle-CssClass="wide" HeaderStyle-CssClass="wide"> <ItemTemplate> <asp:LinkButton ID="btbLink3" runat="server" Text='<%# Bind("full_name_reverse_with_suffix") %>' CommandArgument='<%# Bind("eds_account_id") %>' OnClick="getUserDetails"></asp:LinkButton> <asp:Label ID="phonetic" Style="word-wrap: normal; word-break: break-all;" runat="server" Text='<%# Eval("name_phonetic") %>'></asp:Label> </ItemTemplate> <ItemStyle HorizontalAlign="Left" /> </asp:TemplateField> </Columns> </asp:GridView> 在这里,我想检查标签<%# Eval("name_phonetic") %>是否有任何值,然后添加换行符. 非常感谢您的指导。 谢谢 好吧,我们实际上有“几个”选择。 但是,对于诸如基于某些数据更改框的颜色,或突出显示行,或连接一些值,更改粗体字体等的事情,基于网格视图的“数据”? 我会使用行数据绑定事件。您可以按照说明使用内联代码,甚至可以说内联 iff 语句。 所以,例如,你可以说使用这个: <asp:Label ID="phonetic" Style="word-wrap: normal; word-break: break-all;" runat="server" Text='<%# Eval("name_phonetic").ToString() == "" ? "" : Eval("name_phonetic").ToString() + @"<br/><br/>" %>'> </asp:Label> 现在,真的,上面的表达式足以将开发人员送到一些有软垫墙的医院。 因此,正如我所指出的,采用“标准”,即您的格式化代码基于某个值突出显示文本框,加粗文本,或者在这种情况下添加额外的换行符? 将所有此类代码放在“一个地方”、“一个点”和代码后面,而不是标记代码的“混乱丛林”。 所以,使用行数据绑定事件,然后这样做: 你的标签现在变成了这个: <asp:Label ID="phonetic" Style="word-wrap: normal; word-break: break-all;" runat="server" > </asp:Label> 然后在行数据绑定中,然后是: protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { DataRowView rData = e.Row.DataItem as DataRowView; Label lPhon = e.Row.FindControl("phonetic") as Label; lPhon.Text = rData["name_phonetic"].ToString(); if (lPhon.Text != "") lPhon.Text += @"<br/>"; } } 现在,那是“更多”代码,但它是您可以掌握、阅读并返回的代码。 在该代码中,您现在拥有用于绑定的完整数据行,因此可以访问和使用未在 GV 中显示的 EVEN 列。 (所以说对于一些折扣率,你可以然后颜色控制,或做任何事情)。如前所述,您使用了 GV 中未显示或未显示的数据行中的值。 因此,这两种方法中的任何一种都可以工作,但是您也可以“启动”一个用于特殊格式的代码存根,并且所有这些代码都可以“始终”放置在一个位置,并且您作为开发人员现在将放置在一个位置“知道”在未来寻找。
我有一个绑定到LinqToSql-DataSource的GridView。数据源是多联接。我需要网格的唯一键值。但是由于左...
我是JavaScript新手。因此,我需要一些帮助。我在WebForm上具有ASPxGridView,并且单击“清除”按钮时想运行我的代码。我的意思是在ASPxGridView中嵌入按钮,该按钮放置在SearchPanel中。...
我已将数据网格绑定到列表。我正在遵循存储库模式并使用EF v4.1。我需要在row_deleting事件上删除实体。这是代码:protected void grdBooks_RowDeleting(...
我在.aspx网站上有一个ASPxGridView,其标志“ ShowEditButton”设置为true,而LinqDataSource设置为启用更新。在“设计”视图中查看页面时,将显示该按钮。由于它...
为什么会出现Sys.WebForms.PageRequestManagerServerErrorException:请求被中止:请求被取消了?
因此,我正在进行一次SQL查询,最多需要10分钟来检索大约2万个数据元素。那本身没有问题,因为我可以设置断点并查看检索到的信息并显示...