2012-07-23 88 views
1

我在.aspx文件的GridView下面有。使用DataTable绑定GridView的Item模板

<asp:GridView ID="grdScopeList" runat="server"> 
    <Columns> 
    <asp:TemplateField> 
    <ItemTemplate> 
    <asp:CheckBox ID="ScopeChk" runat="server" Checked=false /> 
    </ItemTemplate> 
    </asp:TemplateField> 
    <asp:BoundField DataField="sync_scope_name" Visible=true /> 
    </Columns> 
    </asp:GridView> 

我使用的数据集/数据表为assiging的GridView.Below是在pageLoad的事件片断中所使用的代码。

string scopecomm="select sync_scope_name from Sync.scope_info"; 
DataSet ds_scope = new DataSet(); 
ds_scope = GetData(scopecomm, remoteconn); grdScopeList.DataSource = ds_scope; 
grdScopeList.DataBind(); 

但我越来越列sync_scope_name 两次。我很能列sync_scope_name绑定在数据集中BoundField.I只需要显示它一次

问候,

萨钦ķ

+0

您确定GetData没有获得列sync_scope_name的两倍 – HatSoft 2012-07-23 11:35:27

+0

Getdata仅获取单列,即sync_scope_name。 – 2012-07-23 11:40:45

+0

尝试在数据库中运行sql – codingbiz 2012-07-23 11:52:28

回答

1

最有可能您的查询返回的重复。

针对数据库手动运行您的查询以放弃此操作。

如果查询应该返回重复,你只需要告诉他们一次,你需要将你的信息查询

select sync_scope_name 
from Sync.scope_info 
group by sync_scope_name 

或者使用distinct关键字

select distinct sync_scope_name from Sync.scope_info 
1

我加的AutoGenerateColumns = GridView中的“false”。