金刚般若(77063837) 10:43:35
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
查询数据()
Dim 列表 As New DataGrid
列表.Parent = Me
列表.Size = New Size(600, 200)
Dim 数据表 = 字符串转数据表()
Dim 筛选 = "简拼 Like '%" + "RS" + "%' "
列表.DataSource = 数据表
Dim 筛选表 = 数据表.DefaultView
筛选表.RowFilter = 筛选
End Sub
Function 字符串转数据表() As DataTable
Dim aa = New DataTable
For Each ss In "内码 简拼 品名 成份名 药品类别 规格 配伍禁忌".Split(" ")
aa.Columns.Add(ss)
Next ss
For Each ss In "47019 RS 人参 人参 人参 支 藜芦;1111 LL 藜芦 藜芦 藜芦 g 人参,党参,玄参,西洋参,细辛;33212 XX 细辛 细辛 细辛 g 藜芦;2222 RS 蚺蛇 蚺蛇 蚺蛇 g 全蝎".Split(";")
aa.Rows.Add(ss.Split(" "))
Next ss
Return aa
End Function
Sub 查询数据()
Dim ts = ""
Dim dd As DataRow
For Each dd In 字符串转数据表().Rows
If dd.ItemArray.Contains("RS") Then
ts += String.Join(" ", dd.ItemArray) + Chr(13) + Chr(10)
End If
Next dd
MessageBox.Show(ts, "友情提示:")
End Sub
End Class
金刚般若(77063837) 15:55:17
void 请问如何查找多个符合条件的值()
{
DataTable aa = new DataTable(), bb = new DataTable();
foreach (string ss in "内码 简拼 品名 成份名 药品类别 规格 配伍禁忌".Split(' '))
aa.Columns.Add(ss);
var ff = "47019 RS 人参 人参 人参 支 藜芦;1111 LL 藜芦 藜芦 藜芦 g 人参,党参,玄参,西洋参,细辛;33212 XX 细辛 细辛 细辛 g 藜芦;2222 RS 蚺蛇 蚺蛇 蚺蛇 g 全蝎"
.Split(';').Select(dd => dd.Split(' ')).ToArray();
ff.Select(dd => aa.Rows.Add(dd)).ToArray();
foreach (DataRow kk in aa.Rows)
电话.Text += kk.ItemArray.Contains(姓名.Text) ?
string.Join(" ", kk.ItemArray) : "\r\n";
//MessageBox.Show(电话.Text);
bb = aa.Copy(/*求一个高效对比算法,比较两个DataTable差异数据https://bbs.csdn.net/topics/392562169*/);
bb.Rows.RemoveAt(0); bb.Rows.RemoveAt(0);
bb.Columns.RemoveAt(bb.Columns.Count - 1); bb.Columns.RemoveAt(bb.Columns.Count - 1);
//IEnumerable<DataRow> IW = bb.AsEnumerable().Except(aa.AsEnumerable());
foreach (DataRow dd in bb.Rows) aa.Rows.Remove(aa.Rows.Cast<DataRow>().First(hh => hh.ItemArray[0] == dd.ItemArray[0]));
}