ASP.netgridview - databbinding方法不起作用

本文关键字:方法 不起作用 databbinding netgridview ASP | 更新日期: 2023-09-27 18:11:28

我有一个网格视图,我试图使用自定义对象列表填充。然而,网格没有被填充。

下面是代码摘录:

。ASPX文件:

<asp:GridView ID="gvResult" runat="server" ondatabound="gvResult_DataBound" 
                    onrowdatabound="gvResult_RowDataBound" 
                    onrowdeleting="gvResult_RowDeleting" AutoGenerateColumns="False">
    <Columns>
        <asp:BoundField HeaderText="Id" DataField="Id"/>                            
        <asp:BoundField HeaderText="Regular Expression" DataField="RegExpression"/>
        <asp:BoundField HeaderText="MatchedPart" DataField="MatchedPart"/>                                                        
    </Columns>
</asp:GridView>

我的对象定义如下:

public class MatchedRegexObject
{
    public string Id { get; set; }
    public string RegExpression { get; set; }
    public string MatchedPart { get; set; }
}

这是我的。aspx . cs文件

List<MatchedRegexObject> matchedRegexObj = new List<MatchedRegexObject>();
//Populate matchedRegexObj
gvResult.DataSource = matchedRegexObj;
gvResult.DataBind();

当我将"AutoGenerateColumns"属性设置为true时,它可以完美地工作。但是,当我通过将"AutoGenerateColumns"属性设置为false来提供自定义列名时,网格不会出现。有人能帮忙吗?

ASP.netgridview - databbinding方法不起作用

为什么使用c#标签?

c# like this

string query = "Select * From databasetablename";//Sample query
MySqlDataAdapter adaptor = new MySqlDataAdapter(query, connectionname);
DataTable table = new DataTable();
adaptor.Fill(table);
dataGridView1.DataSource = table;

您正在尝试将gridview绑定到没有元素的列表。你能像这样做吗?

List<MatchedRegexObject> matchedRegexObj = new List<MatchedRegexObject>();
//Populate matchedRegexObj
MatchedRegexObject m = new MatchedRegexObject();
m.Id = "id1";
m.MatchedPart = "Matchpart1";
m.RegExpression = "RegEx1";
matchedRegexObj.Add(m);
gvResult.DataSource = matchedRegexObj;
gvResult.DataBind();

让我知道进展如何。cheers1