Devi usare una Template Column. Questo esempio utilizza il DataBinding per caricare True o False e quindi "checkare" o meno la checkbox (scusa il linguaggio)

<asp:datagrid id="DataGrid1" runat="server" > <Columns>

<asp:BoundColumn DataField="PriceListID" SortExpression="PriceListID" ReadOnly="True" HeaderText="Codice Listino">
<HeaderStyle Width="300px"></HeaderStyle>
</asp:BoundColumn>
<asp:TemplateColumn SortExpression="IsPublished" HeaderText="Pubblicato">
<HeaderStyle HorizontalAlign="Center" Width="80px"></HeaderStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
<ItemTemplate>
<asp:CheckBox id="CheckBox_IsPublished" Checked='<%# DataBinder.Eval(Container.DataItem,"IsPublished") %>' runat="server" Enabled="False">
</asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>