开发者

Checkboxes to indicate inclusion in a list?

开发者 https://www.devze.com 2023-02-06 08:51 出处:网络
I have two tables, called Machine and Type. Since they have a many-many relationship, I have a MachineType resolution table in my DB. No problem.

I have two tables, called Machine and Type. Since they have a many-many relationship, I have a MachineType resolution table in my DB. No problem.

The end user needs to be able to manage these - create new types and assign them to machines. I have an XtraGridView that I am using to display the Machine as master and Type as detail.

Initially I used a Lookup to add Type dropdowns to the MachineType detail view. But that creates duplicates and is not the best way to display this information. I'd like a series of checkboxes (one for each Type options available) so the user can click the appropriate ones for each machine, thus avoiding duplicates. Upon saving, the appropriate MachineType rows can be generated.

I was 开发者_如何学Cgoing to just code this manually but if there's some kind of binary collection mapping in either DevExpress or the .net framework I can use, I'd prefer that than to reinvent the wheel.

Cheers

EDIT: This is what I mean. From this thread. However, they store it as a collection (a string delineated by commas) and not a series of DB rows.


Are you interested in just returning the values to bind to as a linq query?

from m in Machine
from t in Type
select new {m,t}

This will give you a cross join for each of the pairings on save you can just check to see if the MachineType table has the pairing already

from mt in MachineType
where mt.MachineId == <machine from list>
&& mt.TypeId == <type from list>

if you want to pass the query lists you can send a list of pairings you can send a dictionary and loop through it or use the Contains() function if dictionaries support that.

0

精彩评论

暂无评论...
验证码 换一张
取 消