SQL和DataGrid绑定显示问题

starj1 2005-09-11 07:48:05
SQL语句:
select code as 编码, (stock<lowstock) as 低库存 from stock
绑定到DataGrid中时,“低库存”列显示为0和-1,我要的是True或False,或者是自己定义的字符啊。
但看不到哪里可以更改的。
高手们赶紧帮忙,谢谢啦。
...全文
328 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
starj1 2005-10-05
  • 打赏
  • 举报
回复
晕乎乎,套函数是什么东西啊?指教下,见笑了啊。。。
SeeSunSet 2005-09-30
  • 打赏
  • 举报
回复
或者用模板列,绑定外面套函数,你想显示什么都行.
starj1 2005-09-27
  • 打赏
  • 举报
回复
lovevbnet(sdf)

再请问下,你的那些代码里面有哪些是自动生成哪些是自己写的?
因为没写过这东西,不太了解,多援助我这不明白的啊.
lovevbnet 2005-09-19
  • 打赏
  • 举报
回复
Public Class Form1
Inherits System.Windows.Forms.Form

#Region " Windows Form 設計工具產生的程式碼 "

Public Sub New()
MyBase.New()

'此呼叫為 Windows Form 設計工具的必要項。
InitializeComponent()

'在 InitializeComponent() 呼叫之後加入所有的初始設定

End Sub

'Form 覆寫 Dispose 以清除元件清單。
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub

'為 Windows Form 設計工具的必要項
Private components As System.ComponentModel.IContainer

'注意: 以下為 Windows Form 設計工具所需的程序
'您可以使用 Windows Form 設計工具進行修改。
'請勿使用程式碼編輯器來修改這些程序。
Friend WithEvents DataGrid1 As System.Windows.Forms.DataGrid
Friend WithEvents Button1 As System.Windows.Forms.Button
Friend WithEvents Button2 As System.Windows.Forms.Button
Friend WithEvents DataGridTableStyle1 As System.Windows.Forms.DataGridTableStyle
Friend WithEvents DataGridTextBoxColumn1 As System.Windows.Forms.DataGridTextBoxColumn
Friend WithEvents DataGridBoolColumn1 As System.Windows.Forms.DataGridBoolColumn
Friend WithEvents DataGridTableStyle2 As System.Windows.Forms.DataGridTableStyle
Friend WithEvents DataGridTextBoxColumn2 As System.Windows.Forms.DataGridTextBoxColumn
Friend WithEvents DataGridTextBoxColumn3 As System.Windows.Forms.DataGridTextBoxColumn
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(Form1))
Me.DataGrid1 = New System.Windows.Forms.DataGrid()
Me.Button1 = New System.Windows.Forms.Button()
Me.Button2 = New System.Windows.Forms.Button()
Me.DataGridTableStyle1 = New System.Windows.Forms.DataGridTableStyle()
Me.DataGridTextBoxColumn1 = New System.Windows.Forms.DataGridTextBoxColumn()
Me.DataGridBoolColumn1 = New System.Windows.Forms.DataGridBoolColumn()
Me.DataGridTableStyle2 = New System.Windows.Forms.DataGridTableStyle()
Me.DataGridTextBoxColumn2 = New System.Windows.Forms.DataGridTextBoxColumn()
Me.DataGridTextBoxColumn3 = New System.Windows.Forms.DataGridTextBoxColumn()
CType(Me.DataGrid1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'DataGrid1
'
Me.DataGrid1.DataMember = ""
Me.DataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText
Me.DataGrid1.Location = New System.Drawing.Point(16, 24)
Me.DataGrid1.Name = "DataGrid1"
Me.DataGrid1.Size = New System.Drawing.Size(264, 232)
Me.DataGrid1.TabIndex = 0
Me.DataGrid1.TableStyles.AddRange(New System.Windows.Forms.DataGridTableStyle() {Me.DataGridTableStyle1, Me.DataGridTableStyle2})
'
'Button1
'
Me.Button1.Location = New System.Drawing.Point(48, 272)
Me.Button1.Name = "Button1"
Me.Button1.TabIndex = 1
Me.Button1.Text = "Button1"
'
'Button2
'
Me.Button2.Location = New System.Drawing.Point(168, 272)
Me.Button2.Name = "Button2"
Me.Button2.TabIndex = 2
Me.Button2.Text = "Button2"
'
'DataGridTableStyle1
'
Me.DataGridTableStyle1.DataGrid = Me.DataGrid1
Me.DataGridTableStyle1.GridColumnStyles.AddRange(New System.Windows.Forms.DataGridColumnStyle() {Me.DataGridTextBoxColumn1, Me.DataGridBoolColumn1})
Me.DataGridTableStyle1.HeaderForeColor = System.Drawing.SystemColors.ControlText
Me.DataGridTableStyle1.LinkColor = System.Drawing.SystemColors.HotTrack
Me.DataGridTableStyle1.MappingName = "ONE"
'
'DataGridTextBoxColumn1
'
Me.DataGridTextBoxColumn1.Format = ""
Me.DataGridTextBoxColumn1.FormatInfo = Nothing
Me.DataGridTextBoxColumn1.HeaderText = "One"
Me.DataGridTextBoxColumn1.MappingName = "Col1"
'
'DataGridBoolColumn1
'
Me.DataGridBoolColumn1.FalseValue = False
Me.DataGridBoolColumn1.HeaderText = "TWO"
Me.DataGridBoolColumn1.MappingName = "Col2"
Me.DataGridBoolColumn1.NullValue = CType(resources.GetObject("DataGridBoolColumn1.NullValue"), System.DBNull)
Me.DataGridBoolColumn1.TrueValue = True
Me.DataGridBoolColumn1.Width = 50
'
'DataGridTableStyle2
'
Me.DataGridTableStyle2.DataGrid = Me.DataGrid1
Me.DataGridTableStyle2.GridColumnStyles.AddRange(New System.Windows.Forms.DataGridColumnStyle() {Me.DataGridTextBoxColumn2, Me.DataGridTextBoxColumn3})
Me.DataGridTableStyle2.HeaderForeColor = System.Drawing.SystemColors.ControlText
Me.DataGridTableStyle2.MappingName = "TWO"
'
'DataGridTextBoxColumn2
'
Me.DataGridTextBoxColumn2.Format = ""
Me.DataGridTextBoxColumn2.FormatInfo = Nothing
Me.DataGridTextBoxColumn2.HeaderText = "001"
Me.DataGridTextBoxColumn2.MappingName = "Col1"
Me.DataGridTextBoxColumn2.Width = 200
'
'DataGridTextBoxColumn3
'
Me.DataGridTextBoxColumn3.Format = ""
Me.DataGridTextBoxColumn3.FormatInfo = Nothing
Me.DataGridTextBoxColumn3.HeaderText = "002"
Me.DataGridTextBoxColumn3.MappingName = "Col2"
Me.DataGridTextBoxColumn3.Width = 250
'
'Form1
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 15)
Me.ClientSize = New System.Drawing.Size(292, 309)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.Button2, Me.Button1, Me.DataGrid1})
Me.Name = "Form1"
Me.Text = "Form1"
CType(Me.DataGrid1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)

End Sub

#End Region

Dim tb1 As DataTable
Dim tb2 As DataTable
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
tb1 = New DataTable("ONE")
tb2 = New DataTable("TWO")
tb1.Columns.Add(New DataColumn("Col1", GetType(String)))
tb1.Columns.Add(New DataColumn("Col2", GetType(Boolean)))
Dim dr As DataRow
dr = tb1.NewRow
dr.Item("Col1") = "ABCD"
dr.Item("Col2") = False
tb1.Rows.Add(dr)
dr = tb1.NewRow
dr.Item("Col1") = "ABCDER"
dr.Item("Col2") = True
tb1.Rows.Add(dr)
tb2.Columns.Add(New DataColumn("Col1", GetType(String)))
tb2.Columns.Add(New DataColumn("Col2", GetType(String)))
dr = tb2.NewRow
dr.Item("Col1") = "ABCD"
dr.Item("Col2") = "KKKKKKKK"
tb2.Rows.Add(dr)
dr = tb2.NewRow
dr.Item("Col1") = "ABCDdsfdds"
dr.Item("Col2") = "KKKKKKKKadsfasdf"
tb2.Rows.Add(dr)
End Sub

Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
DataGrid1.DataSource = tb1
End Sub

Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
DataGrid1.DataSource = tb2
End Sub
End Class
njhyh 2005-09-19
  • 打赏
  • 举报
回复
支持wuyi8808(tm) studio 2005  :) 的写法:
学习
starj1 2005-09-18
  • 打赏
  • 举报
回复
不好意思,再多请教一些,模板列要怎么构建?
ajieboy 2005-09-14
  • 打赏
  • 举报
回复
如果还得根据条件判断的话那就用模板列吧。
starj1 2005-09-13
  • 打赏
  • 举报
回复
ajieboy(齐)
还是不可行,因为我一个DataGrid是被许多DataTable共用的,就是每个列都可能需要用到不同的设置.
ajieboy 2005-09-13
  • 打赏
  • 举报
回复
DataGrid的属性生成器,选择要设置的列,在数据格式设置表达式里填格式字符串就行了。
starj1 2005-09-13
  • 打赏
  • 举报
回复
wuyi8808(tm) studio 2005  :)
我现在电脑连不了网,也装不了SQL Server,用的是单机的Access MDB数据库.
case的SQL太建立了,我现在是在Access里面弄好复制出来用的.谢谢你给我这条思路啦^_^

ajieboy(齐)
请问下,在哪设置呢?我找了半天都没看到可以设置的...
ajieboy 2005-09-11
  • 打赏
  • 举报
回复
设置一下格式,比如:
DataFormatString="{0:'暂停';;'正常'}"
wuyi8808 2005-09-11
  • 打赏
  • 举报
回复
SELECT
code AS 编码,
CASE
WHEN stock<lowstock THEN CAST(1 AS bit)
ELSE CAST(0 AS bit)
END AS 低库存
FROM stock

-- 如果你用的数据库是 M$ SQL Server 2000 的话, 这是返回True或False的版本, M$ SQL Server 2000 的 bit 数据类型就是 .NET 中的 System.Boolean 类型.
wuyi8808 2005-09-11
  • 打赏
  • 举报
回复
SELECT
code as 编码,
CASE
WHEN stock<lowstock THEN 'Yes'
ELSE 'No'
END as 低库存
FROM stock
starj1 2005-09-11
  • 打赏
  • 举报
回复
怎么还是没人来啊?等不及了,先回去,明天再来。。。
starj1 2005-09-11
  • 打赏
  • 举报
回复
另一个问题,数据访问并发冲突错误的具体定义是什么?怎么防范?看MSDN怎么都看不出在说什么,火ing。。。

16,556

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧