我想用AspxGridView做动态数据绑定。如果我设置了AutoGenerateColumn = true
,它会显示所选列的列名,但不会显示记录。如果我将false设置为auto generate column,页码的数量会增加,但记录不会显示。
Asp.net代码
<dx:ASPxGridView ID="ASPxGridView1" runat="server">
<SettingsPager PageSize="50">
</SettingsPager>
<Settings ShowFilterRow="True" ShowGroupPanel="True" />
<SettingsCommandButton>
<ShowAdaptiveDetailButton ButtonType="Image"></ShowAdaptiveDetailButton>
<HideAdaptiveDetailButton ButtonType="Image"></HideAdaptiveDetailButton>
</SettingsCommandButton>
<SettingsDataSecurity AllowDelete="False" AllowEdit="False" AllowInsert="False" />
<SettingsSearchPanel Visible="True" />
</dx:ASPxGridView>
cs文件
protected void btnSearch_Click(object sender, EventArgs e)
{
string cs = ConfigurationManager.ConnectionStrings["HQMatajerConnectionString"].ConnectionString;
using (SqlConnection con = new SqlConnection(cs))
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "select * from [HQMatajer].[dbo].[TransactionEntry] where itemid='74876'";
con.Open();
SqlDataReader rd = cmd.ExecuteReader();
//ASPxGridView1.Columns.Clear();
ASPxGridView1.AutoGenerateColumns = true;
ASPxGridView1.DataSource = rd;
ASPxGridView1.DataBind();
}
}
输出
。
如果我设置为false,则以下图像为输出
发布于 2016-12-22 10:57:08
对于快速获取记录,SqlDataReader是一个很好的解决方案,但是您不能直接使用它来填充GridView对象的DataSource。您应该将其与DataSet或DataTable结合使用,以实现您的目标。这两个类都有Load属性,以便从SQLDataReader对象中获取结果。
SqlDataReader rd = cmd.ExecuteReader();
DataTable dt= new DataTable();
dt.Load(rd);
ASPxGridView1.DataSource = dt;
也可以查看https://msdn.microsoft.com/en-us/library/system.data.datatable.load(v=vs.110).aspx
https://stackoverflow.com/questions/41219929
复制