gpt4 book ai didi

asp.net - 如何填充asp :GridView from code?

转载 作者:行者123 更新时间:2023-12-02 10:18:36 27 4
gpt4 key购买 nike

我有一个List<string[]> items列表中填充了我的代码中的字符串数组。在 ASPX 页面上,我添加了一个新的 GridView 控件:

<asp:GridView ID="ProductList" runat="server" AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="ProductID" EnableViewState="False">
<Columns>
<asp:BoundField DataField="ProductName" HeaderText="Product" SortExpression="ProductName" />
<asp:BoundField DataField="CategoryName" HeaderText="Category" ReadOnly="True" SortExpression="CategoryName" />
<asp:BoundField DataField="SupplierName" HeaderText="Supplier" ReadOnly="True" SortExpression="SupplierName" />
<asp:BoundField DataField="UnitPrice" DataFormatString="{0:C}" HeaderText="Price" HtmlEncode="False" SortExpression="UnitPrice" />
<asp:CheckBoxField DataField="Discontinued" HeaderText="Discontinued" SortExpression="Discontinued" />
</Columns>
</asp:GridView>

我知道我应该以类似于这样的方式为 GridView 指定 DataSourceID 属性:

<asp:GridView ... `DataSourceID="ObjectDataSource1" ... > 
</asp:GridView>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetProducts" TypeName="ProductsBLL">
</asp:ObjectDataSource>

但是,我不知道该怎么办 OldValuesParameterFormatString , SelectMethodTypeName属性代表。另外,我没有要绑定(bind)的数据库,我只有名为 items 的字符串数组列表。 。你能帮我填充 GridView 吗?根本没有必要通过绑定(bind)来完成。谢谢!

最佳答案

您甚至不需要 ObjectDataSource。在代码隐藏的 Page_Load 中,您可以解析字符串数组列表并动态创建 DataTable。

确保将其包装在 Not Page.IsPostback 周围,以便它不会在回发时重新绑定(bind)。

List<string[]> stringList = null;

DataTable dt = new DataTable();
DataRow dr = null;
dt.Columns.Add("ProductName", System.Type.GetType("System.String"));
dt.Columns.Add("CategoryName", System.Type.GetType("System.String"));
dt.Columns.Add("SupplierName", System.Type.GetType("System.String"));
dt.Columns.Add("UnitPrice", System.Type.GetType("System.Double"));
dt.Columns.Add("Discontinued", System.Type.GetType("System.String"));

foreach (string[] s in stringList) {
foreach (string str in s) {
dr = dt.NewRow();
dr["ProductName"] = s[0];
dr["CategoryName"] = s[1];
dr["SupplierName"] = s[2];
dr["UnitPrice"] = s[3];
dr["Discontinued"] = s[4];
dt.Rows.Add(dr);
}
}

dt.AcceptChanges();
ProductList.DataSource = dt;
ProductList.DataBind();

关于asp.net - 如何填充asp :GridView from code?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12958457/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com