use*_*789 10 c# asp.net gridview datasource databound
我正在尝试动态创建GridView.其中一列是创建行的用户.
JobDebrief jd = new JobDebrief(JobID);
Job jb = new Job(JobID);
DataGrid db = JobClass.Job_Piece.BuildGrid();
db.Columns.Add(CreateBoundColumn(jd.DbriefedByUser, "User"));
PlaceHolder.Controls.Add(db);
db.DataSource = jb.Pieces;
db.DataBind();
Run Code Online (Sandbox Code Playgroud)
我在job_piece类中的BuildGrid函数中创建了GridView.
public static DataGrid BuildGrid()
{
DataGrid NewDg = new DataGrid();
NewDg.DataKeyField = "ID";
NewDg.AutoGenerateColumns = false;
NewDg.CssClass = "tblResults";
NewDg.HeaderStyle.CssClass = "tblResultsHeader";
NewDg.AlternatingItemStyle.CssClass = "ResultsStyleAlt";
NewDg.ItemStyle.CssClass = "ResultsStyle";
NewDg.Columns.Add(Load.CreateBoundColumn("AdvisedQty", "Qty Advised"));
NewDg.Columns.Add(Load.CreateBoundColumn("PieceTypeString", "Piece Type"));
NewDg.Columns.Add(Load.CreateBoundColumn("ReceivedQty", "Rcvd Qty"));
NewDg.Width = Unit.Percentage(100.00);
return NewDg;
}
public static BoundColumn CreateBoundColumn(string DataField, string Header,string CssClass ="",bool Highlight = false)
{
BoundColumn column = new BoundColumn();
column.DataField = DataField;
column.HeaderText = Header;
column.SortExpression = DataField;
if (Highlight)
{
column.ItemStyle.CssClass = "ColumnHighlight";
}
if (!string.IsNullOrEmpty(CssClass))
{
column.ItemStyle.CssClass = CssClass;
}
return column;
}
Run Code Online (Sandbox Code Playgroud)
它当前显示的3列全部来自job_piece.由于用户不属于此类,因此我尝试在此函数之外创建列.
该列显示标题但行为空白.用户名来自JobDebrief
班级.但是因为我将GridView绑定到各个部分,所以db.DataSource = jb.Pieces;
它没有找到信息.是否可以将用户列设置为其他DataSource?
归档时间: |
|
查看次数: |
5196 次 |
最近记录: |