【问题标题】:AutoGenerateColumns="False" Causes Empty RadGrid on DatabindAutoGenerateColumns="False" 导致 Databind 上的 RadGrid 为空
【发布时间】:2013-09-20 11:54:32
【问题描述】:

如果AutoGenerateColumns="True" 则网格将与数据集绑定并显示数据,但如果设置为 false 则不会绑定并显示 NoRecords 值,即使数据表有行也是如此。

这是什么原因造成的,我该如何解决?

pas.MasterTableView.AutoGenerateColumns =false;
DataTable dt = new DataTable();

dt.Columns.Add("SNo");
dt.Columns.Add("Name");
dt.Columns.Add("Add");

DataRow dsa = dt.NewRow();

dsa["SNo"] = "1";
dsa["Name"] = "Karthik";
dsa["Add"] = "Hyd";

dt.Rows.Add(dsa);

dsa = dt.NewRow();
dsa["SNo"] = "2";
dsa["Name"] = "krishna";
dsa["Add"] = "Hyd";
dt.Rows.Add(dsa);

dsa = dt.NewRow();
dsa["SNo"] = "3";
dsa["Name"] = "kailas";
dsa["Add"] = "Hyd";
dt.Rows.Add(dsa);

dsa = dt.NewRow();
dsa["Sno"] = "4";
dsa["Name"] = "Billa";
dsa["Add"] = "Hyd";
dt.Rows.Add(dsa);

dsa = dt.NewRow();
dsa["Sno"] = "5";
dsa["Name"] = "asdf";
dsa["Add"] = "qwer";

dt.Rows.Add(dsa);

pas.DataSource = dt;
pas.DataBind();

【问题讨论】:

  • 显示您的 RadGrid 标记
  • 我无法发布我的代码,其显示的代码格式正确
  • pas.MasterTableView.AutoGenerateColumns =false;我保留了这个

标签: asp.net telerik-grid


【解决方案1】:

AutoGenerateColumns 属性设置为 True 指示网格使用从网格中的数据库返回的任何列,因此如果您将其关闭 (False),则网格将没有列,除​​非您可以像这样定义它们:

<Columns>
    <telerik:GridBoundColumn DataField="ProductID" 
                             DataType="System.Int32" 
                             HeaderText="Product ID"
                             SortExpression="ProductID" 
                             UniqueName="ProductID">
    </telerik:GridBoundColumn>
    <telerik:GridBoundColumn DataField="ProductName" 
                             HeaderText="Product Name" 
                             SortExpression="ProductName"
                             UniqueName="ProductName">
    </telerik:GridBoundColumn>
    <telerik:GridBoundColumn DataField="UnitPrice" 
                             DataType="System.Decimal" 
                             HeaderText="Unit Price"
                             SortExpression="UnitPrice" 
                             UniqueName="UnitPrice">
    </telerik:GridBoundColumn>
</Columns>

如果您不希望网格中的数据库查询中的所有列或者您不喜欢列的名称,您可以使用AutoGenerateColumns=False,因为它使用数据库字段名称(即SYSTEM_ID) .

【讨论】:

  • Kailas - 很高兴这对您有所帮助,请随时为这个答案投票。 :-)
【解决方案2】:

如果您将 AutoGenerateColumns 属性设置为 false 并且您没有手动定义的列,则 RadGrid 中将没有列。因为没有列,所以不会有记录,因为记录是给定列的单元格。由于 Grid 中没有行,因此将显示 NoRecordsToDisplay 消息。检查此链接以手动查看添加列。

click here for deatils

【讨论】:

  • 谢谢...但我没有得到解决方案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-02-05
  • 1970-01-01
  • 2012-05-15
  • 1970-01-01
  • 1970-01-01
  • 2011-08-15
  • 1970-01-01
相关资源
最近更新 更多