我有一个网格视图,我试图使用自定义对象列表填充。但是,网格没有填充。
以下是代码摘录:
.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来提供自定义列名称时,不会显示网格。有人可以帮忙吗?
答案 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