日期:2014-05-18  浏览次数:20814 次

GridView绑定DataTable 为什么会新建出列?
GridView内已经手机添加了A、B、C、D四列,查询数据DataTable中也,怎么将DataTable中A、B、C、D四列对应的绑定在GridView上的A、B、C、D四列?
不要遍历循环DataTable的行,这样效率有点慢,希望直接绑定。
我用gridview.DataSource = datatable;绑定会多出4列A、B、C、D,里面没有值···

------解决方案--------------------
if (Datatable != null)
{
gvw1.DataSource = Datatable;
gvw1.AutoGenerateColumns = false;

if (gvw1.Columns.Count == 0)
{
BoundField tmpField1 = new BoundField();
tmpField1.DataField = Datatable.Columns["A"].ToString(); //对应表中的A列
tmpField1.HeaderText = "A"; //列标题也为A
DataControlField tmpDataCol1 = tmpField1;
gvw1.Columns.Add(tmpDataCol1);
gvw1.Columns[0].ItemStyle.Width = 20;

BoundField tmpField2 = new BoundField();
tmpField2.DataField = Datatable.Columns["B"].ToString(); //对应表中的B列
tmpField2.HeaderText = "B"; //列标题也为
DataControlField tmpDataCol2 = tmpField2;
gvw1.Columns.Add(tmpDataCol2);
gvw1.Columns[1].ItemStyle.Width = 20;
}
gvw1.DataBind();