C# 如何在datatable自动生成的telerik gridview中显示“未找到记录”消息?
我正在使用C# 如何在datatable自动生成的telerik gridview中显示“未找到记录”消息?,c#,asp.net,gridview,datatable,telerik-grid,C#,Asp.net,Gridview,Datatable,Telerik Grid,我正在使用数据集动态创建GridView,但当我的GridView中没有记录时,就会出现问题,因此在这种情况下,我希望显示GridView,其中包含所有未找到记录的列 这是我的代码,但GridView不可见: var table = new DataTable(); table .Columns.Add("Source"); table .Columns.Add("Destination"); table .Columns.Add("Date"); If() { //All my
数据集动态创建GridView
,但当我的GridView
中没有记录时,就会出现问题,因此在这种情况下,我希望显示GridView
,其中包含所有未找到记录的列
这是我的代码,但GridView不可见:
var table = new DataTable();
table .Columns.Add("Source");
table .Columns.Add("Destination");
table .Columns.Add("Date");
If()
{
//All my logics where i am generating value for this "Source,Destination,Date" Column.
foreach (var item in data)
{
table.Rows.Add(Source,Destination,Date);
}
//Binding to Gridview
GridView1.DataSource = dt;
GridView1.DataBind();
}
else
{
//No Records so display gridview with "No records" along with columns.
GridView1.DataSource = dt; //Here i will not be having any data for this 3 columns Source,Destination,Date
GridView1.DataBind();//But My gridview is not visible
}
Aspx:
<telerik:RadGrid ID="GridView1" runat="server">
<MasterTableView AutoGenerateColumns="true" NoMasterRecordsText="No Records Found">
<Columns>
</Columns>
</MasterTableView>
</telerik:RadGrid>
预期产出:
您需要更改gridview的MasterTableView
的NoMasterRecordsText
属性
ASPX:
编辑:使用OnnedDataSource将数据绑定到GridView
<telerik:RadGrid ID="GridView1" runat="server" OnNeedDataSource="GridView1_NeedDataSource">
<MasterTableView AutoGenerateColumns="true" NoMasterRecordsText="No Records Found">
<Columns>
</Columns>
</MasterTableView>
</telerik:RadGrid>
Gridview ASPX页面放置EmptyDataText
<asp:GridView ID="GvZone" runat="server" AutoGenerateColumns="False"
EmptyDataText="No Records Found !" >
</asp:GridView>
OP要求的是telerik gridview
而不是asp gridview
我已经说过我也想要我的专栏。这将显示我的专栏。请查看您发布的我的输出,并为gridview添加aspx
代码查看更新的问题,但您的解决方案不起作用。griddisappears@Learning你需要在网格视图的NeedDataSource
事件上绑定数据。请参阅此链接:如果您在NeedDataSource
事件中将数据绑定到gridview,那么您将在gridview中收到“未找到记录”消息。请参阅我是此asp.net的新手,请您用您所说的内容更新您的ans,但请记住在定义列时使用我的数据集
<telerik:RadGrid ID="GridView1" runat="server" OnNeedDataSource="GridView1_NeedDataSource">
<MasterTableView AutoGenerateColumns="true" NoMasterRecordsText="No Records Found">
<Columns>
</Columns>
</MasterTableView>
</telerik:RadGrid>
// GridView1_NeedDataSource
protected void GridView1_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
BindGridViewData();
}
//Bind Grid View
private void BindGridViewData()
{
var table = new DataTable();
table .Columns.Add("Source");
table .Columns.Add("Destination");
table .Columns.Add("Date");
if()
{
foreach (var item in data)
{
table.Rows.Add(Source,Destination,Date);
}
//Binding to Gridview
GridView1.DataSource = dt;
}
else
{
GridView1.DataSource = dt;
}
}
<asp:GridView ID="GvZone" runat="server" AutoGenerateColumns="False"
EmptyDataText="No Records Found !" >
</asp:GridView>