RadGrid不可见 [英] RadGrid not Visible
本文介绍了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屋!
查看全文