RadGrid不可见 [英] RadGrid not Visible

查看:116
本文介绍了RadGrid不可见的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

我在asp.net上使用telerik控件.我有一个RadGrid,我只用于插入项目.它的aspx是

Hey everyone,

I am using telerik controls with asp.net.I have a RadGrid which i am using only to insert items.Its aspx is

<telerik:RadGrid ID="RadGrid1" runat="server" GridLines="None" OnItemDataBound="RadGrid1_ItemDataBound"

                    OnItemCreated="RadGrid1_ItemCreated" OnColumnCreated="RadGrid1_ColumnCreated"

                    AllowAutomaticInserts="true" OnNeedDataSource="RadGrid1_NeedDataSource" Skin="Office2007"

                    AutoGenerateColumns="true">
                    <MasterTableView EditMode="InPlace" EnableNoRecordsTemplate="true" EnableViewState="true">
                        <RowIndicatorColumn>
                            <HeaderStyle Width="20px" />
                        </RowIndicatorColumn>
                        <ExpandCollapseColumn>
                            <HeaderStyle Width="20px" />
                        </ExpandCollapseColumn>
                        <Columns>
                            <telerik:GridTemplateColumn HeaderText="Items" UniqueName="ItemColumn">
                                <ItemTemplate>
                                    <asp:Label ID="lblItemName" runat="server" />
                                </ItemTemplate>
                                <EditItemTemplate>
                                    <asp:DropDownList ID="ddlItems" runat="server" DataSourceID="SqlDataSource1" AutoPostBack="true" />
                                </EditItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridTemplateColumn HeaderText="Rate" UniqueName="RateColumn">
                                <ItemTemplate>
                                    <asp:Label ID="lblRate" runat="server" />
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridTemplateColumn HeaderText="Quantity" UniqueName="QuantityColumn">
                                <ItemTemplate>
                                    <asp:Label ID="lblQuantity" runat="server" />
                                </ItemTemplate>
                                <EditItemTemplate>
                                    <telerik:RadTextBox ID="txtQuantity" runat="server" />
                                </EditItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridTemplateColumn HeaderText="Amount" UniqueName="AmountColumn">
                                <ItemTemplate>
                                    <asp:Label ID="lblAmount" runat="server" />
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridButtonColumn HeaderText="Done" Text="Done" UniqueName="Donecolumn">
                            </telerik:GridButtonColumn>
                        </Columns>
                        <NoRecordsTemplate>
                            There isn't any data.</NoRecordsTemplate>
                    </MasterTableView>
                    <ClientSettings EnablePostBackOnRowClick="true" />
                </telerik:RadGrid>
                <asp:SqlDataSource ID="SqlDataSource1" runat="server" DataSourceMode="DataReader"

                ConnectionString="<%$ ConnectionStrings:ChalkHillConnectionString3 %>"

                SelectCommand="SELECT [ProductName] FROM [tblProducts]"></asp:SqlDataSource>




CS是




And CS is

protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                RadGrid1.Visible = true;
            }
        }

        protected void btnHome_Click(object sender, EventArgs e)
        {
            Response.Redirect("Home.aspx");
        }
        protected void ddlItems_SelectedIndexChanged(object sender, EventArgs e)
        {
            DropDownList ddlItems = (DropDownList)sender;
            GridEditFormItem editItem = (GridEditFormItem)ddlItems.NamingContainer;
            GridDataItem item = (GridDataItem)editItem.ParentItem; // access GridDataItem
            Label lblRate = (Label)item.FindControl("lblRate"); // access Label using DataItem
            if (ddlItems.SelectedIndex > 0)
            {
                DataSet ds = objSQLHelper.GetProductDetails("select * from tblProducts where Pid=" + ddlItems.SelectedValue);
                if (ds != null)
                {
                    lblRate.Text = ds.Tables[0].Rows[0]["Rate"].ToString();
                }
            }
        }

        protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
        {
            if ((e.Item is GridEditFormItem) && (e.Item.IsInEditMode))
            {
                GridEditFormItem editform = (GridEditFormItem)e.Item;
                e.Item.Edit = true;
                DropDownList ddlItems = (DropDownList)editform.FindControl("ddlItems");
                ddlItems.DataSource = SqlDataSource1;
                ddlItems.DataTextField = "ProductName";
                ddlItems.DataValueField = "Pid";
                ddlItems.DataBind();
            }
        }
        private void RadGrid1_PreRender(object sender, System.EventArgs e)
        {
            if (!IsPostBack)
            {
                foreach (GridItem item in RadGrid1.MasterTableView.Items)
                {
                    if (item is GridEditableItem)
                    {
                        GridEditableItem editableItem = item as GridDataItem;
                        editableItem.Edit = true;
                    }
                }
                RadGrid1.Rebind();
            }
        }
        protected void RadGrid1_ItemCreated(object sender, EventArgs e)
        {

        }
        protected void RadGrid1_ColumnCreated(object sender, EventArgs e)
        {

        }
        protected void RadGrid1_NeedDataSource(object sender, EventArgs e)
        {

        }
        protected void RadGrid1_ItemCommand(object source, GridCommandEventArgs e)
        {
            if (e.CommandName == "RowClick")
            {
                RadAjaxManager manager = RadAjaxManager.GetCurrent(this.Page);
                manager.Alert("Row was clicked!");
                this.RadGrid1.DataSource = new object[] { };
                this.RadGrid1.DataBind();

            }
        }


我什么也没得到.为什么网格不可见?...


And what i get is nothing.Why is grid not visible?...

推荐答案

ConnectionStrings:ChalkHillConnectionString3 %> " span> SelectCommand 从[tblProducts]中选择[ProductName]" < /asp:SqlDataSource >
ConnectionStrings:ChalkHillConnectionString3 %>" SelectCommand="SELECT [ProductName] FROM [tblProducts]"></asp:SqlDataSource>




CS是




And CS is

protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                RadGrid1.Visible = true;
            }
        }

        protected void btnHome_Click(object sender, EventArgs e)
        {
            Response.Redirect("Home.aspx");
        }
        protected void ddlItems_SelectedIndexChanged(object sender, EventArgs e)
        {
            DropDownList ddlItems = (DropDownList)sender;
            GridEditFormItem editItem = (GridEditFormItem)ddlItems.NamingContainer;
            GridDataItem item = (GridDataItem)editItem.ParentItem; // access GridDataItem
            Label lblRate = (Label)item.FindControl("lblRate"); // access Label using DataItem
            if (ddlItems.SelectedIndex > 0)
            {
                DataSet ds = objSQLHelper.GetProductDetails("select * from tblProducts where Pid=" + ddlItems.SelectedValue);
                if (ds != null)
                {
                    lblRate.Text = ds.Tables[0].Rows[0]["Rate"].ToString();
                }
            }
        }

        protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
        {
            if ((e.Item is GridEditFormItem) && (e.Item.IsInEditMode))
            {
                GridEditFormItem editform = (GridEditFormItem)e.Item;
                e.Item.Edit = true;
                DropDownList ddlItems = (DropDownList)editform.FindControl("ddlItems");
                ddlItems.DataSource = SqlDataSource1;
                ddlItems.DataTextField = "ProductName";
                ddlItems.DataValueField = "Pid";
                ddlItems.DataBind();
            }
        }
        private void RadGrid1_PreRender(object sender, System.EventArgs e)
        {
            if (!IsPostBack)
            {
                foreach (GridItem item in RadGrid1.MasterTableView.Items)
                {
                    if (item is GridEditableItem)
                    {
                        GridEditableItem editableItem = item as GridDataItem;
                        editableItem.Edit = true;
                    }
                }
                RadGrid1.Rebind();
            }
        }
        protected void RadGrid1_ItemCreated(object sender, EventArgs e)
        {

        }
        protected void RadGrid1_ColumnCreated(object sender, EventArgs e)
        {

        }
        protected void RadGrid1_NeedDataSource(object sender, EventArgs e)
        {

        }
        protected void RadGrid1_ItemCommand(object source, GridCommandEventArgs e)
        {
            if (e.CommandName == "RowClick")
            {
                RadAjaxManager manager = RadAjaxManager.GetCurrent(this.Page);
                manager.Alert("Row was clicked!");
                this.RadGrid1.DataSource = new object[] { };
                this.RadGrid1.DataBind();

            }
        }


我什么也没得到.为什么网格不可见?...


And what i get is nothing.Why is grid not visible?...


protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IspostBack)
{
RadGrid1.DataSource = //datasource;
RadGrid1.DataBind();
}

}


您真的需要在block下方吗?
Do you really need below block?
protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                RadGrid1.Visible = true;
            }
        }


删除行


Remove the line

RadGrid1.Visible = true;


来自Page_Load()

在调试的同时还要检查是否可以在数据集中进行数据记录?


from Page_Load()

Also check while debugging can you able to data in the dataset?


这篇关于RadGrid不可见的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆