ASP.Net GridView- DataBind方法不起作用

时间:2014-07-03 10:18:19

标签: c# asp.net gridview data-binding

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

以下是代码摘录:

.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来提供自定义列名称时,不会显示网格。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

为什么选择c#标签?

c#喜欢这个;

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

答案 1 :(得分:0)

您正在尝试将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

相关问题