在WinForms中使用Linq to SQL的可更新数据网格

时间:2009-04-10 03:20:25

标签: vb.net linq datagrid

我正在使用Linq填充数据网格 - 标准类型的东西(下面的代码)。出于某种原因,我的ultraDataGrid仍处于某种只读模式。我已经检查了我能想到的所有网格属性。这是绑定到Linq数据源的结果吗?任何人都有使用Linq?

的可更新网格的示例代码
db = New DataContext
myData = New dataClass
dataUltraGrid.DataSource = From table _
       In db.profiles _
        Select table.field1, table.field2...

2 个答案:

答案 0 :(得分:2)

你真的没有使用LinqDataSource控件...你绑定到一个列表db.profiles你的数据网格不知道任何关于更新或删除或插入只是绑定到该列表,我可以这样说:< / p>

<asp:GridView ID="GridView1" runat="server" DataSourceID="LinqDataSource1" 
            AutoGenerateColumns="False" DataKeyNames="FooID">
            <Columns>
                <asp:BoundField DataField="FooID" HeaderText="FooID" InsertVisible="False" 
                    ReadOnly="True" SortExpression="FooID" />
                <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
                <asp:BoundField DataField="Description" HeaderText="Description" 
                    SortExpression="Description" />
            </Columns>
        </asp:GridView>
        <asp:LinqDataSource ID="LinqDataSource1" runat="server" 
            ContextTypeName="YourDataContext" EnableDelete="True" 
            EnableInsert="True" EnableUpdate="True" TableName="Foos">
        </asp:LinqDataSource>

答案 1 :(得分:1)

找到解决方案:使用lambda表达式过滤实体并直接绑定到实体。