我将radGrid的数据源设置为数据集(我已存储在会话中).我启用了AllowAutomaticUpdates和EnableViewState,实现了NeedDataSource,设置了DatakeyNames等(参见下面的代码)
但是,当我按下编辑按钮并进行更改并按更新链接时,记录不会更新并退出编辑模式.....它只是保持编辑模式,并且不会发生任何错误.
所以,问题是....有没有人知道带有EnableViewstate的radGrid是否支持AutomaticUpdates,因此网格中的更改将自动推送到它所绑定的数据集中?
有人会认为你可以阅读文档,但我一直无法找到明确的答案.
谢谢
<telerik:Radgrid id="grid" runat="server" AllowPaging="True" AllowSorting="True" AllowAutomaticUpdates="true"
AutoGenerateEditColumn="True" GridLines="None" >
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
Dim data As New DataGateway
Dim ds As DataSet = data.GetEmployeesByProgram(Year:=2009, ProgramName:="Long Term Incentive Stock Program")
Dim dt As DataTable = ds.Tables(0)
ds.Tables(0).PrimaryKey = New DataColumn() {dt.Columns("EmployeeNum"), dt.Columns("ProgramName"), dt.Columns("Year")}
Session("datasource") = ds
With Me.grid
.AllowAutomaticUpdates = True
.AutoGenerateColumns = True
.AllowSorting = True
.AutoGenerateEditColumn = True
.EnableViewState = True 'IS …Run Code Online (Sandbox Code Playgroud) 我正在做一个aspx页面来显示库的代码使用示例.
所以基本上,我想举例来说:源代码按钮输出(在数据网格中)
我不认为将代码从按钮后面复制并粘贴到aspx页面以用于显示目的,而是认为能够在运行时读取实际源代码并显示它可能会很好.除了光滑之外,这还有额外的好处,即确保显示的源代码是最新的,而如果有人做出更改并忘记使用新代码更新aspx页面,则复制和粘贴可能会过时.
我可以想到两种可能的方法:1)(kludgy) - 在文件后面部署代码,然后可以在运行时读取,并且可以解析和显示正确的功能代码.2)(首选)运行时反编译DLL(作为反射器)并显示代码.
所以我知道如何做#1,但不知道#2(如果它甚至可能).
我希望能够解析vb.net代码文件,因此我可以检查Subs,Functions(及其内容,包括注释),私有变量等的集合.
我可以打开实际的源代码文件.
所以,例如,如果我有:
Public Function FunctionOne(arg1 As String, arg2 as String) as Integer
here is some code
''//here are some comments
End Function
Public Sub FunctionOne(arg1 As integer, arg2 as integer)
here is some code
''//here are some comments
End Sub
Run Code Online (Sandbox Code Playgroud)
我希望能够解析出所有的子函数和函数以及公共函数和结束函数之间的所有代码(实际上,可以选择只包含代码或整个函数,这将是很好的定义.
这似乎需要某种解析库,或者相当不错的正则表达式技能.
有什么建议?
更新:我想要实现的主要内容是解析源代码,因此反射很好,可能是为了获取函数列表,什么不是,我知道如何做,但它是一种正确的解析方式我想弄清楚的源代码.
我有一个引用域项目的asp.net Web项目.
在web项目中,我想使用反射从域项目创建一个类的实例,但我总是得到null(Nothing,在VB中).
注意:我使用的是非完全限定的类名,并且希望在MSDN似乎指示的情况下执行搜索(在程序集层面)
Dim myType为Type = Type.GetType("MetricEntity")'//产生Nothing(Null)
'// lets try this
Dim WasFound As Boolean = False
For Each ObjectType In Me.GetType.Assembly.GetExportedTypes
If ObjectType.Name = theClassName Then
WasFound = True
Exit For
End If
Next
Run Code Online (Sandbox Code Playgroud)
这个问题的答案似乎通常是:
Dim myType as Type = Type.GetType("System.Linq.Enumerable, System.Core, "
+ "Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"));
Run Code Online (Sandbox Code Playgroud)
但我没有看到必须硬编码版本号的逻辑(或者必须放在配置文件中)....所以如果版本发生变化会发生什么,我忘了在反射代码中更新它.... .是否可以执行GetType,忽略Version,Culture和PublicKeyToken?
现在C#支持可选参数,有没有办法编写SQL CLR存储过程,以便从Visual Studio发布将使用C#中定义的可选参数在SQL Server中创建存储过程?
过去唯一的方法是手动编写包装函数:
SQL Server 2005中.NET存储过程的默认参数值/可选参数
我宁愿避免这种情况,因为它需要两次编写接口,以及在事情发生变化时维护两个接口.
例:
[Microsoft.SqlServer.Server.SqlProcedure]
public static void help(string FunctionName = "")
{
SqlPipe pipe = SqlContext.Pipe;
pipe.Send("help> " + FunctionName + "<");
}
Run Code Online (Sandbox Code Playgroud)
从VS2013发布(在生成的发布脚本中):
CREATE PROCEDURE [dbo].[help] @FunctionName [nvarchar](MAX)
AS EXTERNAL NAME [YOURDB].[StoredProcedures].[help];
Run Code Online (Sandbox Code Playgroud)
运行它:
exec help
Procedure or function 'help' expects parameter '@FunctionName', which was not supplied.
Run Code Online (Sandbox Code Playgroud)
但是,如果您手动编写过程创建如下:
drop procedure [help]
CREATE PROCEDURE [dbo].[help]
( @FunctionName nvarchar(100) = null)
AS EXTERNAL NAME [YOURDB].[StoredProcedures].[help];
exec help
help> <
Run Code Online (Sandbox Code Playgroud)
....它现在按预期运行.
Visual Studio具有将参数发布为可选的所有信息,因为C#支持它们,所以要么我做错了,要么他们只是没有更新发布实现来识别可选参数.
由于Access 2003没有2007年存在的控件锚定功能,我想知道是否有人能够或者知道某些可以提供此功能的VBA脚本或免费软件控件?
我有几个aspx页面,可以正常打开(浏览器全屏),或从另一个页面调用弹出窗口(我使用的是Greybox,fwiw)
如果页面在Greybox中作为弹出窗口打开,我想不显示母版页面内容(显示常见的顶部和左侧菜单等).
据我所知,如果页面是弹出窗口,就无法知道服务器端,这必须在客户端javascript中检测到(在Greybox的情况下,通过检查window.parent.parent),因此主页面内容也必须通过javascript隐藏.
关于如何处理这个的任何想法?
我试图弄清楚是否可以通过名称实例化和调用委托,而不是显式.我认为下面的代码解释得相当好....我想接受一个函数名,然后基于它实例化委托.在示例中,我使用了一个选择案例,但我想要消除它,只需使用methodName参数本身.
恭敬地......请避免告诉我这是疯狂的冲动,我应该采取一些完全不同的方法来解决这个问题.:)
Private Delegate Sub myDelegate()
Private Sub myDelegate_Implementation1()
'Some code
End Sub
Private Sub myDelegate_Implementation2()
'Some code
End Sub
Public Sub InvokeMethod(ByVal methodName As String)
Dim func As myDelegate = Nothing
'??? HOW TO GET RID OF THIS SELECT CASE BLOCK?:
Select Case methodName
Case "myDelegate_Implementation1"
func = AddressOf myDelegate_Implementation1
Case "myDelegate_Implementation2"
func = AddressOf myDelegate_Implementation2
End Select
func.Invoke()
End Sub
Run Code Online (Sandbox Code Playgroud)
谢谢基思,正是我想要的.(但在大多数情况下,BFree的方法也会起作用).
这是VB中的工作代码:
Public Delegate Sub xxxDelegate()
Sub xxxAnImplementation()
End Sub
Sub zzzDoIt(ByVal xxxImplementerName As String)
Dim theDelegate As …Run Code Online (Sandbox Code Playgroud) 任何人都知道一个可以转换的高效函数,例如:
HelloWorld - > Hello World
helloWorld - > Hello World
Hello_World - > Hello World
hello_World - > Hello World
能够处理所有这些情况会很好.
最好是在VB.Net或C#中.
我想产生的所有SSRS报告及其相应的数据集(没有数据源),并在其相关的命令文本/存储过程的名称列表,所有的SSRS服务器(包括嵌入式数据集)上的报告.
另一个不错的功能是能够过滤报表数据中使用的那些(即:绑定到报表正文中的表等,而不是用作参数中下拉列表的数据源).
.net ×4
asp.net ×4
vb.net ×3
c# ×2
sql-server ×2
asp.net-ajax ×1
delegates ×1
javascript ×1
ms-access ×1
parsing ×1
radgrid ×1
reflection ×1
reflector ×1
regex ×1
sqlclr ×1
telerik ×1