Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 关于Telerik Radgrid的查询_Asp.net - Fatal编程技术网

Asp.net 关于Telerik Radgrid的查询

Asp.net 关于Telerik Radgrid的查询,asp.net,Asp.net,我正在使用Telerik Radgrid作为我的aspx页面。我已经在这里上传了截图。这里的问题是,如果radgrid中没有项目,则消息“no records to display”(无需显示记录)应扩展到网格的末尾。如果看到屏幕截图,网格中的消息框将在网格实际结束之前结束。我已经上传了我使用过的代码。有什么出路吗 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ManageUsers.aspx.cs" Inherits="S

我正在使用Telerik Radgrid作为我的aspx页面。我已经在这里上传了截图。这里的问题是,如果radgrid中没有项目,则消息“no records to display”(无需显示记录)应扩展到网格的末尾。如果看到屏幕截图,网格中的消息框将在网格实际结束之前结束。我已经上传了我使用过的代码。有什么出路吗

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ManageUsers.aspx.cs" Inherits="Settings_ManageUsers" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<!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>
    <link rel="stylesheet" type="text/css" href="../css/style002.css">

</head>

<body>
   <h2 class="Boldheader" style="color: #4173be; font-size: x-large">Manage Users</h2>
    <form id="form1" runat="server">
    <asp:Button ID="Button1" runat="server" OnClick="btnAdd_Click" CssClass="formEditBtn" Text="Add User" />
    <telerik:RadScriptManager runat="server" ID="ScriptManager1"></telerik:RadScriptManager>

    <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">   
    <script type="text/javascript">
        function pageLoad(sender, eventArgs) {
            if (!eventArgs.get_isPartialLoad()) {
                $find("<%= radAjax.ClientID %>").ajaxRequest("InitialPageLoad");
            }
        }
        function OnClientClose(oWnd, args) {
            var radMgr = $find("<%=radAjax.ClientID %>");
            radMgr.ajaxRequest("Rebind");
        }
    </script>   
    <script type="text/javascript">
        //<![CDATA[
        /*function openWin(id) {
        if (id != "") {
        var oWnd = radopen("EditUser.aspx?id=" + id, "_self");
        }
        }*/

        function openWin(id) {
            window.open("EditUser.aspx?id=" + id, "_self");
        }

        //]]>
    </script>
    </telerik:RadCodeBlock> 

    <telerik:RadWindowManager ID="RadWindowManager1" ShowContentDuringLoad="false"  VisibleStatusbar="false"
        ReloadOnShow="true" runat="server" OnClientPageLoad="OnClientClose">
        <Windows>
            <telerik:RadWindow ID="EditWindow" Behaviors="Reload" runat="server"
                NavigateUrl="EditUser.aspx" VisibleTitlebar="false" >
            </telerik:RadWindow>
        </Windows>
    </telerik:RadWindowManager>

    <telerik:RadAjaxManager runat="server" ID="radAjax" OnAjaxRequest="AjaxManager_AjaxRequest" DefaultLoadingPanelID="RadAjaxLoadingPanel1" >
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="radAjax">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="grdUsers" UpdatePanelRenderMode="Inline" LoadingPanelID="RadAjaxLoadingPanel1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>

    <telerik:RadGrid runat="server" ID="grdUsers" AutoGenerateColumns="false" OnItemDataBound="grdUsers_ItemDataBound"
     OnNeedDataSource="grdUsers_NeedDataSource" 
        OnItemCommand="grdUsers_ItemCommand" GridLines="Both" Width="288px" 
        style="margin-right: 13px">
    <HeaderStyle CssClass="SummaryTableHdrRow" Font-Bold="true" />
    <ItemStyle CssClass="SummaryTableDataRow" />
    <AlternatingItemStyle CssClass="SummaryTableDataRow" />
    <MasterTableView DataKeyNames="UserId" Width="100%">
    <Columns>
        <telerik:GridBoundColumn DataField="UserName" HeaderText="User Name" ></telerik:GridBoundColumn>
        <telerik:GridButtonColumn ButtonType="ImageButton" CommandName="delete" ConfirmText="Are you sure you want to delete this user? (If yes, press OK, else cancel)"
         ImageUrl="../images/delx.gif" ItemStyle-Width="25px" HeaderStyle-Width="25px"></telerik:GridButtonColumn>
        <telerik:GridBoundColumn DataField="UserId" Visible="false"></telerik:GridBoundColumn>
    </Columns>
    </MasterTableView>
    <ClientSettings>
    <Scrolling AllowScroll="true" UseStaticHeaders="true" />
    </ClientSettings>
    </telerik:RadGrid>

    <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Transparency="30" Height="100%" Width="75px" BackgroundPosition="Center">
    <table style="height:100%;width: 100%;" border="0">
    <tr>
        <td width="100%" align="center" valign="middle">
        <img src="../images/loading.gif" s![enter image description here][1]tyle="border:0;"  />
        </td>
    </tr>
    </table>
    </telerik:RadAjaxLoadingPanel>

    <asp:Label runat="server" ID="lblError" ForeColor="Red" Font-Bold="true"></asp:Label>
    </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 Telerik.Web.UI;
using System.Data.SqlServerCe;
using System.Data;

public partial class Settings_ManageUsers : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //if (Security.EnforceSecurity())
        //    Response.Redirect("Login.aspx");

        AppDomain.CurrentDomain.SetData("SQLServerCompactEditionUnderWebHosting", true);



    }
    protected void grdUsers_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)

    {
        BindData();
    }
    private void BindData()
    {
        try
        {
            string connectString = "Data Source=" + Server.MapPath(".") + "\\Security.sdf";
            using (SqlCeConnection conn = new SqlCeConnection(connectString))
            {
                using (SqlCeCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = "select * ";
                    cmd.CommandText += "from Users order by UserName";
                    DataTable dt = new DataTable();
                    SqlCeDataAdapter da = new SqlCeDataAdapter(cmd);
                    da.Fill(dt);
                    grdUsers.DataSource = dt;
                }
            }
        }
        catch (Exception ex)
        {
            lblError.Text = ex.Message.ToString();
        }

    }
    protected void btnAdd_Click(object sender, EventArgs e)
    {
        Response.Redirect("EditUser.aspx?id=0");
    }
    protected void grdUsers_ItemCommand(object sender, GridCommandEventArgs e)
    {
        if (e.CommandName == "delete")
        {
            try
            {
                GridDataItem item = (GridDataItem)e.Item;
                string userId = item["UserId"].Text;
                string connectString = "Data Source=" + Server.MapPath(".") + "\\Security.sdf";
                using (SqlCeConnection conn = new SqlCeConnection(connectString))
                {
                    using (SqlCeCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = "delete ";
                        cmd.CommandText += "from Users ";
                        cmd.CommandText += "where UserId = @UserId";
                        cmd.Parameters.Add(new SqlCeParameter("@UserId", SqlDbType.Int)).Value = userId;
                        conn.Open();
                        cmd.ExecuteNonQuery();
                        conn.Close();
                    }
                }
                grdUsers.Rebind();
            }
            catch (Exception ex)
            {
                lblError.Text = ex.Message.ToString();
            }
        }
    }
    protected void grdUsers_ItemDataBound(object sender, GridItemEventArgs e)
    {
        if (e.Item.ItemType == GridItemType.Item || e.Item.ItemType == GridItemType.AlternatingItem)
        {
            string value = e.Item.Cells[2].Text;
            HyperLink eLink = new HyperLink();
            eLink.NavigateUrl = "javascript: void 0";
            eLink.Attributes.Add("onclick", "openWin('" + e.Item.Cells[4].Text + "');");
            eLink.Text = value;
            e.Item.Cells[2].Controls.Clear();
            e.Item.Cells[2].Controls.Add(eLink);

        }
    }
    protected void AjaxManager_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e)
    {
        grdUsers.Rebind();
    }
}

管理用户
函数页面加载(发送方、事件参数){
如果(!eventArgs.get_isPartialLoad()){
$find(“”.ajaxRequest(“InitialPageLoad”);
}
}
函数OnClientClose(oWnd,args){
var radMgr=$find(“”);
radMgr.ajaxRequest(“重新绑定”);
}
//
使用制度;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
使用System.Web.UI;
使用System.Web.UI.WebControl;
使用Telerik.Web.UI;
使用System.Data.SqlServerCe;
使用系统数据;
公共部分类设置\u ManageUsers:System.Web.UI.Page
{
受保护的无效页面加载(对象发送方、事件参数e)
{
//if(Security.EnforceSecurity())
//重定向(“Login.aspx”);
AppDomain.CurrentDomain.SetData(“SQLServerCompactEditionUnderWebHosting”,true);
}
受保护的void grdUsers_NeedDataSource(对象发送方,GridNeedDataSourceEventArgs e)
{
BindData();
}
私有void BindData()
{
尝试
{
string connectString=“数据源=“+Server.MapPath”(“.”+”\\Security.sdf”;
使用(SqlCeConnection conn=newsqlceconnection(connectString))
{
使用(SqlCeCommand cmd=conn.CreateCommand())
{
cmd.CommandText=“选择*”;
cmd.CommandText+=“从用户按用户名订购”;
DataTable dt=新的DataTable();
SqlCeDataAdapter da=新的SqlCeDataAdapter(cmd);
da.填充(dt);
grdUsers.DataSource=dt;
}
}
}
捕获(例外情况除外)
{
lblError.Text=ex.Message.ToString();
}
}
受保护的无效btnAdd_单击(对象发送者,事件参数e)
{
重定向(“EditUser.aspx?id=0”);
}
受保护的void grdUsers_ItemCommand(对象发送方,GridCommandEventArgs e)
{
如果(如CommandName==“删除”)
{
尝试
{
GridDataItem=(GridDataItem)e.item;
字符串userId=item[“userId”].Text;
string connectString=“数据源=“+Server.MapPath”(“.”+”\\Security.sdf”;
使用(SqlCeConnection conn=newsqlceconnection(connectString))
{
使用(SqlCeCommand cmd=conn.CreateCommand())
{
cmd.CommandText=“删除”;
cmd.CommandText+=“来自用户”;
cmd.CommandText+=“其中UserId=@UserId”;
cmd.Parameters.Add(新的SqlCeParameter(“@UserId”,SqlDbType.Int)).Value=UserId;
conn.Open();
cmd.ExecuteNonQuery();
康涅狄格州关闭();
}
}
grdUsers.Rebind();
}
捕获(例外情况除外)
{
lblError.Text=ex.Message.ToString();
}
}
}
受保护的void grdUsers\u ItemDataBound(对象发送方,GridItemEventArgs e)
{
如果(e.Item.ItemType==GridItemType.Item | | e.Item.ItemType==GridItemType.AlternatingItem)
{
字符串值=e.Item.Cells[2]。文本;
HyperLink eLink=新的HyperLink();
eLink.NavigateUrl=“javascript:void 0”;
添加(“onclick”、“openWin(“”+e.Item.Cells[4].Text+”);”;
eLink.Text=值;
e、 Item.Cells[2]。Controls.Clear();
e、 Item.Cells[2].Controls.Add(eLink);
}
}
受保护的无效AjaxManager_AjaxRequest(对象发送方,Telerik.Web.UI.AjaxRequestEventArgs e)
{
grdUsers.Rebind();
}
}

这就是NoRecordsTemplate的用途:

<telerik:RadGrid ID="RadGrid1" runat="server">
    <MasterTableView ...>
         <Columns>
             ...
         </Columns>
         <NoRecordsTemplate>
              <!-- TEMPLATE FOR WHEN THERE ARE NO RECORDS -->
         </NoRecordsTemplate>
    </MasterTableView>
</telerik:RadGrid>

...